컴퓨터/노트북/인터넷
IT 컴퓨터 기기를 좋아하는 사람들의 모임방
🕰️
2019.01.25 15:08
Ubunt nginx 최신 안정버전, php 7.2.x, mariadb 10.3.x 버전 설치를 위한 스크립트
조회 수 4411 추천 수 0 댓글 0
우분투 서버에 nginx 최신 안정버전, php 7.2.x, mariadb 10.3.x 버전 설치를 위한 스크립트이다. 아래 스크립트트를 server.sh
등으로 저장한 후 실행 권한을 준 후 실행한다. 사용자명, 비밀번호, 도메인을 입력받아 설치를 진행하며 DB 생성을 위해 DB root 비밀번호 입력이 필요하다. 스크립트는 우분투 서버 16.04 LTS(64비트)에서 테스트 했다.
#!/bin/bash # ================================================================== # # nginx, php 7.2.x, mariadb 10.3.x install shell script for Ubuntu # ================================================================== # # Copyright (c) 2018 Seongho Jang https://ncube.net # This script is licensed under MIT # ================================================================== # # Input username, password, domain while [[ $username == '' ]] do read -p "Enter Username: " username done while [[ $password == '' ]] do read -s -p "Enter Password: " password echo -e "" done while [[ $domain == '' ]] do read -p "Enter domain: " domain done # Update package sudo apt-get update sudo apt-get -y upgrade # Set locale #sudo dpkg-reconfigure locales sudo apt-get -y install language-pack-ko-base language-pack-ko sudo locale-gen ko_KR.UTF-8 sudo locale-gen en_US.UTF-8 sudo localectl set-locale LANG=en_US.UTF-8 LANGUAGE="en_US:en" sudo source /etc/default/locale # Install mail sudo apt-get -y install sendmail sudo apt-get -y install mailutils # Create user sudo groupadd "$username" sudo useradd -g "$username" -s /bin/bash -m "$username" echo -e "$passwordn$passwordn" | sudo passwd "$username" # Make directory sudo mkdir -p /home/"$username"/www sudo chown "$username"."$username" /home/"$username"/www # Set timezone sudo timedatectl set-timezone Asia/Seoul sudo apt-get install -y rdate sudo /usr/bin/rdate -s time.bora.net; /sbin/hwclock --systohc # Install MariaDB 10.3.x sudo apt-get install software-properties-common sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8 sudo add-apt-repository 'deb [arch=amd64,arm64,i386,ppc64el] http://ftp.kaist.ac.kr/mariadb/repo/10.3/ubuntu '$(lsb_release -cs)' main' sudo apt-get update sudo apt-get -y install mariadb-server # Install nginx latest stable version sudo sh -c "echo 'deb http://nginx.org/packages/ubuntu/ `lsb_release -cs` nginx' >> /etc/apt/sources.list" sudo sh -c "echo 'deb-src http://nginx.org/packages/ubuntu/ `lsb_release -cs` nginx' >> /etc/apt/sources.list" curl http://nginx.org/keys/nginx_signing.key | apt-key add - sudo apt-get update sudo apt-get install -y nginx # Install PHP 7.2.x sudo apt-get -y install python-software-properties sudo add-apt-repository ppa:ondrej/php sudo apt-get update sudo apt-get install -y php7.2-cli php7.2-fpm php7.2-bcmath php7.2-bz2 php7.2-common php7.2-curl php7.2-dba php7.2-gd php7.2-json php7.2-mbstring php7.2-mysql php7.2-opcache php7.2-readline php7.2-soap php7.2-xml php7.2-xmlrpc php7.2-zip # nginx configure sudo service nginx stop sudo cat > /etc/nginx/conf.d/"$domain".conf <<WEBCONF server { listen 80 default_server ; server_name $domain www.$domain ; root /home/$username/www ; access_log /var/log/nginx/$domain.access.log ; error_log /var/log/nginx/$domain.error.log warn ; location / { index index.php index.html index.htm ; } include /etc/nginx/php.conf ; } WEBCONF # Create database sudo service mysql restart while [[ $dbpassword == '' ]] do read -s -p "Enter DB Root Password: " dbpassword echo -e "" done while ! mysql -u root -p$dbpassword -e ";" ; do read -s -p "Can't connect, Enter DB Root Password: " dbpassword echo -e "" done mysql -uroot -p${dbpassword} -e "CREATE DATABASE ${username} DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;" mysql -uroot -p${dbpassword} -e "CREATE USER ${username}@localhost IDENTIFIED BY '${password}';" mysql -uroot -p${dbpassword} -e "GRANT ALL PRIVILEGES ON ${username}.* TO '${username}'@'localhost';" mysql -uroot -p${dbpassword} -e "FLUSH PRIVILEGES;" # Daemon start echo -e "" sudo nginx -t sudo php-fpm7.2 -t sudo service php7.2-fpm restart sudo service nginx restart echo "Complete!"
/etc/nginx/php.conf
파일의 내용은 아래와 같다.
# Block dot file (.htaccess .htpasswd .svn .git .env and so on.) location ~ /. { deny all; } # Block (log file, binary, certificate, shell script, sql dump file) access. location ~* .(log|binary|pem|enc|crt|conf|cnf|sql|sh|key)$ { deny all; } # Block access location ~* (composer.json|contributing.md|license.txt|readme.rst|readme.md|readme.txt|copyright|artisan|gulpfile.js|package.json|phpunit.xml)$ { deny all; } location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { log_not_found off; access_log off; } # Block .php file inside upload folder. uploads(wp), files(drupal), data(gnuboard). location ~* /(?:uploads|default/files|data)/.*.php$ { deny all; } location ~ [^/].php(/|$) { fastcgi_split_path_info ^(.+?.php)(/.*)$; if (!-f $document_root$fastcgi_script_name) { return 404; } # flush fastcgi_keep_conn on; gzip off; proxy_buffering off; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_read_timeout 3600; fastcgi_pass unix:/run/php/php7.2-fpm.sock; fastcgi_index index.php; }
컴퓨터/노트북/인터넷
IT 컴퓨터 기기를 좋아하는 사람들의 모임방
-
구글 최신 뉴스
날짜2024.12.12 카테고리뉴스 읽음1386 -
아 진짜 요새 SKT 해킹 뭐시기 때문에 신경 쓰여 죽겠어 ㅠㅠ
날짜2025.05.20 카테고리일반 읽음237 -
사랑LOVE 포인트 만렙! 도전
날짜2025.03.19 카테고리 읽음4675 -
🚨(뉴비필독) 전체공지 & 포인트안내
날짜2024.11.04 카테고리 읽음25851 -
URL만 붙여넣으면 끝! 임베드 기능
날짜2025.01.21 카테고리 읽음20432 -
아 진짜 요새 SKT 해킹 뭐시기 때문에 신경 쓰여 죽겠어 ㅠㅠ
날짜2025.05.20 카테고리일반 조회수237 -
저렴한 중국산 외장 SSD의 실체
날짜2025.05.17 카테고리일반 조회수515 -
인텔 애로우레이크의 CPU 내부 다이 모습
날짜2025.05.10 카테고리일반 조회수600 -
스카이프, 오늘 서비스 종료
날짜2025.05.10 카테고리일반 조회수602 -
SKT "보상 시 고객도 입증책임"
날짜2025.05.10 카테고리일반 조회수630 -
KISA, 신규 악성코드 위협 공지...SKT 내부 서버에서 ‘BPF도어’ 악성코드 변종 8종 추가 발견
날짜2025.05.10 카테고리정보 조회수577 -
“SK하이닉스 내부자에 뚫렸다” 中이직 앞두고 1만여건 기술 유출
날짜2025.05.10 카테고리일반 조회수572 -
기가바이트, 12년만에 메인보드에 새로운 기능을 추가
날짜2025.05.10 카테고리일반 조회수589 -
SKT “위약금 면제 시 수백만명 해지… 분위기 휩쓸려 시장 대혼란”
날짜2025.05.10 카테고리일반 조회수594 -
CUDA 툴킷, 맥스웰, 파스칼, 볼타 지원 중단
날짜2025.05.10 카테고리일반 조회수596 -
그래픽카드를 활용한 암호 해독 벤치마크
날짜2025.05.10 카테고리일반 조회수598 -
애즈락 X870 스틸 레전드 메인보드에서 라이젠 9 9950X CPU가 사망
날짜2025.05.10 카테고리일반 조회수584 -
코어 울트라 200 메인보드, PCIe 5.0 M.2 성능 제한이 있음
날짜2025.05.10 카테고리일반 조회수562 -
시게이트, 2030년까지 100TB 하드디스크 출시
날짜2025.05.10 카테고리일반 조회수582 -
MS가 인텔 18A 공정 계약을 체결?
날짜2025.05.10 카테고리정보 조회수596 -
블루투스 6.1 발표. 전력 효율과 보안 향상
날짜2025.05.10 카테고리정보 조회수615 -
중국 Hygon, 128코어 512스레드의 서버 프로세서 로드맵 공개
날짜2025.05.10 카테고리정보 조회수577 -
인텔, 컴퓨텍스에서 아크 프로 B60 24GB를 발표?
날짜2025.05.10 카테고리정보 조회수617 -
지포스 RTX 5060의 리뷰용 드라이버가 없음
날짜2025.05.10 카테고리일반 조회수624 -
젠슨황이 사인한 리바 TNT 엔지니어링 프로토타입 키트, 도시락 상자
날짜2025.05.10 카테고리일반 조회수565 -
SSD랑 HDD 가격 요즘 진짜 헬이다… 업체들 때문에 미쳐버릴 듯
날짜2025.04.18 카테고리일반 조회수4657 -
컴퓨터 메인보드용 ddr6 메모리는 언제나올지 찾아봤는데
날짜2025.04.08 카테고리일반 조회수594 -
갤럭시탭 S10 FE 4월 3일 출시했습니다. 혜택 나쁘지 않네요
날짜2025.04.05 카테고리일반 조회수842 -
절대 공개하지 않는 메인보드 AS센터의 전설의 기술
날짜2025.03.30 카테고리수리/AS 조회수926 -
메인보드 수리방법 가감없이 공유합니다! #shorts
날짜2025.03.30 카테고리수리/AS 조회수864 -
라이카와 협업한 샤오미 15 울트라 실버 크롬 언박싱
날짜2025.03.29 카테고리일반 조회수971 -
어도비 비정품 알림 Adobe 앱 라이선스 관련 알림창 없애기
날짜2025.03.28 카테고리일반 조회수616 -
윈도우 12, 과연 등장할까? (예상 및 루머 정리)
날짜2025.03.21 카테고리일반 조회수899 -
메인보드중에 고장률이 가장 낮은 회사
날짜2025.03.19 카테고리일반 조회수682 -
벽 콘센트 꼽는거 구멍 위치가 정해져있었네
날짜2025.03.14 카테고리일반 조회수1440