Ubuntu 18.04 / Nginx, PHP, MariaDB 설치하고 설정하기

Ubuntu 18.04에 Nginx와 PHP를 설치하고 설정하는 방법입니다.

Nginx

설치

Nginx를 설치합니다.

apt install nginx

만약 방화벽을 사용하고 있다면 포트를 열어줍니다.

ufw allow 'Nginx Full'

서버 주소로 접속했을 때 다음과 같이 나오면 제대로 된 것입니다.

시작, 정지 등

Nginx를 시작합니다.

systemctl start nginx

Nginx를 멈춥니다.

systemctl stop nginx

Nginx를 재시작합니다.

systemctl restart nginx

Nginx를 다시 로드합니다.

systemctl reload nginx

Nginx를 설치하면 부팅 시 자동으로 시작하게 설정됩니다. 만약 자동 시작을 해제하고 싶다면 다음과 같이 명령합니다.

systemctl disable nginx

자동 시작하도록 하려면 다음과 같이 명령합니다.

systemctl enable nginx

PHP

설치

php-fpm을 설치합니다.

apt install php-fpm

설정

/etc/nginx/sites-available/default 파일을 열고 다음 코드를 찾습니다.

#location ~ \.php$ {
#	include snippets/fastcgi-php.conf;
#
#	# With php-fpm (or other unix sockets):
#	fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
#	# With php-cgi (or other tcp sockets):
#	fastcgi_pass 127.0.0.1:9000;
#}

다음처럼 바꿉니다.(7.0을 7.2로 바꾸었는데, 설치한 PHP 버전에 맞춥니다.)

location ~ \.php$ {
  include snippets/fastcgi-php.conf;
#
#	# With php-fpm (or other unix sockets):
  fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
#	# With php-cgi (or other tcp sockets):
#	fastcgi_pass 127.0.0.1:9000;
}

index.php를 자동 인식하게 하려면

index index.html index.htm index.nginx-debian.html;

에 index.php를 추가합니다.

index index.html index.htm index.nginx-debian.html index.php;

Nginx를 다시 로드 해야 적용됩니다.

service nginx reload

테스트

/var/www/html/ 디렉토리에 phpinfo.php를 만들고 다음 코드를 입력하고 저장합니다.

<?php phpinfo(); ?>

웹브라우저로 server-ip/phpinfo.php로 접속했을 때 다음과 같이 나오면 제대로 된 것입니다.

MariaDB

설치

MariaDB와 php-mysql을 설치합니다.

apt install mariadb-server php-mysql

설정

다음과 같이 명령하여 root 계정 비밀번호 등 몇 가지를 설정합니다.

mysql_secure_installation

웹에서 root 계정 사용

웹에서 root 계정을 사용할 수 있게 하려면 수정해야 합니다. MariaDB에 접속합니다.

mysql -uroot -p

다음을 차례대로 입력합니다.

use mysql;
update user set plugin='' where user='root';
flush privileges;
quit;

같은 카테고리의 다른 글

Ubuntu 16.04 / Let’s Encrypt 무료 SSL 인증서 발급 받기

Ubuntu 16.04 / Let’s Encrypt 무료 SSL 인증서 발급 받기

우분투(Ubuntu) 16.04에서 Let’s Encrypt 인증서를 발급 받고 관리하는 방법을 정리합니다. 클라이언트 프로그램은 Let’s Encrypt에서 추천하는 Certbot을 사용합니다. 환경 Ubuntu 16.04 Apache Web Server 저장소 추가 add-apt-repository ppa:certbot/certbot 업데이트 apt update 설치 apt install python-certbot-apache 인증서 발급 접속 가능한 도메인이어야 발급 가능합니다. 인증서 발급하고, Apache 설정 파일도 자동으로 만듭니다. abc.com 인증서 발급 certbot --apache -d abc.com abc.com과 www.abc.com 인증서 동시 발급 certbot --apache -d abc.com -d www.abc.com 인증서 갱신 certbot renew 인증서 삭제 abc.com ...

Ubuntu 18.04 / 메모

Ubuntu 18.04 / 메모

MariaDB / 포트 변경 MariaDB의 기본 접속 포트는 3306입니다. 이를 다른 포트로 변경하고 싶다면 /etc/mysql/mariadb.conf.d/50-server.cnf를 수정합니다. port = 3306 을 찾아서 원하는 포트로 변경한 후 저장합니다. 그리고 MariaDB를 재시작합니다. service mysql restart MariaDB / Can’t connect to MySQL server on … (10061) 다음과 같은 에러를 만났다면… Can't connect to MySQL server on ... (10061) /etc/mysql/mariadb.conf.d/50-server.cnf에 있는 bind-address = 127.0.0.1 를 ...

Ubuntu 20.04 / Ubuntu 18.04에서 업그레이드 하는 방법

Ubuntu 20.04 / Ubuntu 18.04에서 업그레이드 하는 방법

Ubuntu 버전 확인 현재 사용 중인 Ubuntu의 버전은 여러 가지 방법으로 확인할 수 있습니다. cat /etc/issue Ubuntu 18.04.4 LTS \n \l lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 18.04.4 LTS Release: 18.04 Codename: bionic do-release-upgrade -V do-release-upgrade: version 18.04.36 Ubuntu 18.04에서 ...

Ubuntu 18.04 / 고정 IP 설정하는 방법

Ubuntu 18.04 / 고정 IP 설정하는 방법

네트워크 설정 파일 우분투 18.04의 네트워크 설정 파일은 /etc/netplan 디렉토리 안에 있는 yaml 파일입니다. 고정 IP로 설정하기 DHCP로 설치했다면, 설정 파일 내용은 다음과 같습니다. network: ethernets: enp0s3: addresses: ...

Ubuntu 18.04 / Nginx, PHP, MariaDB 설치하고 설정하기

Ubuntu 18.04 / Nginx, PHP, MariaDB 설치하고 설정하기

Ubuntu 18.04에 Nginx와 PHP를 설치하고 설정하는 방법입니다. Nginx 설치 Nginx를 설치합니다. apt install nginx 만약 방화벽을 사용하고 있다면 포트를 열어줍니다. ufw allow 'Nginx Full' 서버 주소로 접속했을 때 다음과 같이 나오면 제대로 된 것입니다. 시작, 정지 등 Nginx를 시작합니다. systemctl start nginx Nginx를 멈춥니다. systemctl stop nginx Nginx를 재시작합니다. systemctl restart nginx Nginx를 다시 로드합니다. systemctl reload nginx Nginx를 설치하면 부팅 시 자동으로 시작하게 설정됩니다. 만약 자동 ...

Ubuntu 16.04 / ufw로 방화벽 설정하는 방법

Ubuntu 16.04 / ufw로 방화벽 설정하는 방법

우분투의 방화벽 설정 프로그램은 ufw입니다. ufw로 방화벽을 활성화시키고 관리하는 방법을 메모합니다. 방화벽 활성화 ufw enable 방화벽 비활성화 ufw disable 방화벽 상태 확인 ufw status 53 포트 허용 ufw allow 53 53 포트 tcp 패킷 허용 ufw allow 53/tcp 53 포트 udp 패킷 허용 ufw allow 53/udp 53 포트 거부 ufw deny 53 53 포트 tcp 패킷 거부 ufw deny 53/tcp 53 포트 udp 패킷 거부 ufw deny 53/udp 53 ...

Ubuntu 16.04 / phpMyAdmin / 특정 IP에서만 접속 가능하게 만드는 방법

Ubuntu 16.04 / phpMyAdmin / 특정 IP에서만 접속 가능하게 만드는 방법

우분투 16.04에서 phpMyAdmin을 패키지로 설치했을 때, 기본 설정은 모든 IP에서 접속 가능입니다. 만약 특정 IP에서만 접속 가능하게 하려면 /etc/apache2/conf-available/phpmyadmin.conf에 다음 코드를 추가합니다. <Directory /usr/share/phpmyadmin> Order deny,allow Deny from all Allow from xxx.xxx.xxx.xxx </Directory> xxx.xxx.xxx.xxx는 접속하려는 IP로 바꿉니다. 여러 IP를 설정하고 싶을 때는 띄어쓰기로 구분합니다. <Directory /usr/share/phpmyadmin> Order deny,allow Deny from all ...

Ubuntu 16.04 / logrotate 설치하고 설정하기

Ubuntu 16.04 / logrotate 설치하고 설정하기

로그 파일 우분투(Ubuntu)는 여러 작업의 내용을 로그(Log) 파일로 남깁니다. 예를 들어 웹서버 운영과 관련된 로그는 /var/log/apache2에 있습니다. 로그는 기본적으로 하나의 파일에 계속 추가하는 것이어서, 시간이 지날수록 파일의 크기가 커집니다. 로그 파일의 크기가 너무 커지면, 시스템이 느려지거나 다운되기도 합니다. 이러한 문제를 해결해주는 패키지가 logrotate입니다. 로그 파일이 일정 기준을 충족하면 기존 로그 파일을 다른 이름으로 변경하여 ...

Ubuntu 16.04 / hostname 확인하고 변경하는 방법

Ubuntu 16.04 / hostname 확인하고 변경하는 방법

hostname 확인 명령어로 확인하기 다음과 같이 명령하면 hostname을 출력합니다. hostname 설정 파일 열어서 확인하기 텍스트 에디터로 /etc/hostname 파일을 열면 hostname이 적혀있습니다. hostname 변경 명령어로 변경하기 다음과 같이 명령하면 hostname이 abc로 바뀝니다. hostnamectl set-hostname abc 설정 파일 열어서 변경하기 텍스트 에디터로 /etc/hostname 파일을 열어서 내용을 abc로 바꾸면 hostname이 abc로 바뀝니다. 재부팅 재부팅을 하면 위에서 설정한 사항들이 반영됩니다. Ubuntu 16.04 / 고정 IP 설정하는 방법 Ubuntu 18.04 ...

Ubuntu 18.04 / root 계정으로 로그인하는 방법, root 계정으로 ssh 접속하는 방법

Ubuntu 18.04 / root 계정으로 로그인하는 방법, root 계정으로 ssh 접속하는 방법

root 계정으로 로그인하는방법 일반 사용자 계정으로 로그인합니다. 다음과 같이 명령하여 root 계정의 비밀번호를 만듭니다. sudo passwd root 이제 root 계정으로 로그인할 수 있습니다. root 계정으로 ssh 접속하는 방법 설정 파일 수정 텍스트 편집기로 /etc/ssh/sshd_config을 엽니다. 다음과 같은 코드를… #PermitRootLogin prohibit-password 주석을 제거하고 prohibit-password를 yes로 바꿉니다. PermitRootLogin yes 설정 적용하기 다음과 같이 명령하여 변경한 설정을 적용시킵니다. systemctl restart sshd

Ubuntu