컴퓨터/노트북/인터넷
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 컴퓨터 기기를 좋아하는 사람들의 모임방
번호 | 분류 | 제목 | 조회 수 | 날짜 |
---|---|---|---|---|
공지 | 뉴스 |
구글 최신 뉴스
![]() |
1386 | 2024.12.12 |
HOT글 | 일반 | 아 진짜 요새 SKT 해킹 뭐시기 때문에 신경 쓰여 죽겠어 ㅠㅠ 2 | 237 | 2025.05.20 |
공지 | 사랑LOVE 포인트 만렙! 도전 | 4676 | 2025.03.19 | |
공지 | 🚨(뉴비필독) 전체공지 & 포인트안내 2 | 25851 | 2024.11.04 | |
공지 | URL만 붙여넣으면 끝! 임베드 기능 | 20432 | 2025.01.21 | |
10640 | [이벤트] 2021 신축년 설날 제닉스 눈치게임 이벤트! | 26 | 2021.02.11 | |
10639 | [이벤트] ARENA-X 풋레스트 게이밍의자 캐치프레이즈 맞추기! | 29 | 2021.02.11 | |
10638 | 히타치 하드 포맷을 하려고 하는데요 2 | 1437 | 2014.06.13 | |
10637 | 희비 엇갈린 LG-SK…이제 공은 특허소송으로 | 22 | 2021.02.12 | |
10636 | 일반 | 희비 엇갈린 LG-SK…이제 공은 특허소송으로 | 97 | 2023.03.27 |
10635 | 일반 | 흠 윈도업뎃후 다운 | 96 | 2022.03.03 |
10634 | 일반 |
흠 윈도11 문제인가 크롬문제인가
![]() |
495 | 2022.03.29 |
10633 | 일반 | 흠 블투스피커 다 고장났네 | 86 | 2022.03.08 |
10632 | 일반 | 흙수저용 게이들을 위해서 좌식 컴퓨터 책상의자 뽑아봤다 1 | 164 | 2018.12.12 |
10631 | 일반 | 흑흑 결국 2테라 하드를 구해야 한다니 | 89 | 2022.02.10 |
10630 | 일반 | 흑자예상하며 기다린보람이 있군 | 472 | 2016.02.28 |
10629 | 일반 | 흐린 날씨에 7월 첫째 날이자 금요일이네요. | 542 | 2022.12.31 |
10628 | 정보 | 휴대폰에서 이상한 소리 (삐-삐-)가 납니다 | 3718 | 2021.11.29 |
10627 | 일반 | 휴대폰에서 이상한 소리 (삐-삐-)가 납니다 | 1531 | 2023.03.27 |
10626 | 정보 | 휴대폰성지 '좌표동맹' 아이폰12미니, 갤럭시노트20 핸드폰싸게사는법 시세표 공개 - 기호일보 | 778 | 2021.03.06 |
10625 | 일반 | 휴대폰 전체 다 그대로 다른 휴대폰으로 | 60 | 2022.01.01 |
10624 |
휴대폰 기종 뭔지 아시는 선생님 계실까요
1 ![]() |
389 | 2023.05.05 | |
10623 | 일반 | 휴대폰 교체시 문자 백업은 어떻게 하면 될까요? | 234 | 2022.02.21 |
10622 | 일반 | 휴대폰 교체시 문자 백업은 어떻게 하면 될까요? | 1587 | 2023.03.27 |
10621 | 일반 | 휴대용 컴프레셔 | 425 | 2022.12.31 |
10620 | 일반 |
휴대용 에어컨🆒대우 네오아미코 개봉기 [4K]
![]() |
84 | 2023.03.27 |
10619 | 정보 | 휴대성은 그램, 성능은 맥북… 가격은 둘다 고민되네 - 조선일보 | 749 | 2021.02.21 |
10618 | 일반 | 훌랄라 vs bhc 양념반 후라이드반 | 319 | 2022.03.09 |
10617 | 일반 | 훈수 듣고 성공한 bj | 552 | 2022.12.31 |
10616 | 일반 | 후쿠시마 앞바다에서 규모 7.2 지진 발생 | 548 | 2022.12.31 |
10615 | 일반 |
후 삿다......
![]() |
75 | 2022.02.14 |
10614 | 일반 |
효정님께
![]() |
78 | 2022.01.04 |
10613 | 일반 |
효도컴 이륙가능..?
![]() |
466 | 2022.04.12 |
10612 | 회원님들 파워렉스 REX III 600W Triple V2.3 요거 어떤가여 4 | 1592 | 2014.06.11 | |
10611 | 일반 | 회사에서 차를 지원해줘서!! | 70 | 2022.01.07 |