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

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;
#}

다음처럼 바꿉니다.

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;
}

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 Server / crontab 사용법

Ubuntu Server / crontab 사용법

cron cron은 특정 시간에 특정 작업을 수행하게 하는 시스템 대몬입니다. 주기적으로 어떤 작업을 해야할 때 유용합니다. crontab crontab은 시간과 작업을 적은 텍스트 파일입니다. 사용자별로 파일이 존재합니다. cron은 모든 사용자의 crontab 파일을 찾아서, 적혀진 일정대로 작업을 수행합니다. 작업 목록 보기 예약 작업 목록을 보고 싶다면 다음과 같이 명령합니다. crontab -l 사용자의 crontab 파일의 내용이 출력됩니다. 작업 삭제하기 예약 작업을 모두 삭제하고 싶다면 ...

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

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

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 ...

Ubuntu 18.04 / 백신 프로그램 ClamAV 설치 및 사용법

Ubuntu 18.04 / 백신 프로그램 ClamAV 설치 및 사용법

ClamAV ClamAV는 우분투에 사용할 수 있는 백신 프로그램입니다. 패키지에 포함되어 있으므로 쉽게 설치하고 사용할 수 있습니다. 설치 apt install clamav 사용법 데이터베이스 업데이트 데이터베이스 업데이트는 자동으로 됩니다. 만약 수동으로 업데이트를 해야한다면 freshclam 와 같이 명령합니다. 만약 Can't find or parse configuration file /etc/clamav/clamd.conf와 같은 에러가 난다면 대몬을 설치해야 한다고 합니다. apt install clamav-daemon 에러가 나도 바이러스 정의는 업데이트되는 거 같습니다. 꼭 설치해야 ...

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

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

Ubuntu는 설치할 때 일반 사용자 계정만 만듭니다. 관리자 권한이 필요할 때는 sudo를 이용하죠. 그런데 공부를 위해 혼자만 사용하거나, 여러 가지 이유로 보안에 문제가 없는 경우 root 계정으로 로그인해서 작업하는 게 편합니다. root 계정으로 로그인하기 위해서는 무엇을 해야 하는지, root 계정으로 SSH 접속을 하기 위해서는 어떤 설정을 해야 하는지 알아보겠습니다. root 계정으로 로그인하는방법 일반 ...

Ubuntu / 특정 패키지만 업그레이드 하기, 보안 업데이트만 업그레이드 하기

Ubuntu / 특정 패키지만 업그레이드 하기, 보안 업데이트만 업그레이드 하기

우분투 서버에 접속하면 업데이트가 필요한 패키지가 있는지 알려줍니다. 두 가지 분류로 알려주는데, 하나는 패키지 업데이트, 또 하나는 보안 업데이트입니다. 소프트웨어는 보통 최신 버전을 유지하는 것이 좋지만, 업그레이드했을 때 문제가 없는지 충분히 확인을 해야 합니다. 따라서 특정 패키지만 업그레이드를 하거나, 보안 업데이트만 해야 하는 경우가 발생하는데, 어떻게 그런 작업을 하는지 알아보겠습니다. 특정 ...

Ubuntu Server / 업그레이드 하는 방법

Ubuntu Server / 업그레이드 하는 방법

다음은 Ubuntu Server 18.04에서 20.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: ...

Ubuntu 16.04 / PHP 메모리 늘리는 방법

Ubuntu 16.04 / PHP 메모리 늘리는 방법

php.ini PHP 설정은 php.ini에서 합니다. Ubuntu 16.04에서 php.ini의 위치는 /etc/php/7.0/apache2/php.ini입니다.(PHP 버전에 따라 7.0은 다른 숫자일 수 있습니다.) memory_limit 메모리를 늘리기 위해 수정해야 할 것은 memory_limit입니다. 기본값은 128M입니다. memory_limit = 128M 128을 적절히 변경합니다. 웹서버 다시 시작 또는 다시 로드 변경한 설정이 적용되도록 하려면 웹서버를 다시 시작하거나 다시 로드합니다. Apache 웹서버라면 service apache2 restart 로 다시 시작할 수 있고 service apache2 reload 로 다시 로드할 ...

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

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

Ubuntu Server에서 Apache Web Server를 사용하는 경우 Let’s Encrypt 인증서 발급 받는 방법입니다. Apache용 Certbot 설치 Ubuntu Server 18.04, Ubuntu Server 20.04 apt install software-properties-common add-apt-repository universe add-apt-repository ppa:certbot/certbot apt update apt upgrade apt install certbot python3-certbot-apache Ubuntu Server 16.04 add-apt-repository ppa:certbot/certbot apt update apt upgrade apt install python-certbot-apache 인증서 발급 abc.com 인증서 발급하고 설정 파일 생성 certbot --apache -d abc.com abc.com과 www.abc.com 인증서 동시 발급하고 설정 ...

Ubuntu Server / Samba / 설치하고 공유 폴더 만드는 방법

Ubuntu Server / Samba / 설치하고 공유 폴더 만드는 방법

Samba를 이용하여 Ubuntu Server에 공유 폴더를 만들고, Windows 클라이언트에서 접속하는 방법을 알아보겠습니다. Samba 설치 Samba를 설치합니다. 설치하면 바로 시작하고, 재부팅을 해도 자동으로 시작합니다. apt install samba 공유할 폴더를 만들고 권한을 777로 설정합니다. mkdir /sharedfolder chmod 777 /sharedfolder 설정 파일은 /etc/samba/smb.conf입니다. 텍스트 에디터로 엽니다. vi /etc/samba/smb.conf 제일 밑에 다음 코드를 추가합니다. 폴더 이름은 sharedfolder이지만, 네트워크에서는 Shared Folder로 보입니다. ...

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

Ubuntu Server / 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 ...