[라즈베리파이] 아치리눅스에 웹 서버 설치 (ArchLinux + Nginx + php + MariaDB + vsftpd)

라즈베리 파이에 어울리는 가벼운 구성으로 웹 서버를 구성해보자.
설명은 라즈베리 파이에 아치 리눅스가 설치된 이 후 부터 진행한다.
순서대로 따라하면 기본 적인 웹 서비스에 필요한 모든 설치가 끝난다.
단, gaerae로 되어 있는 부분을 본인이 원하는 명칭으로 변경해라.

구성


설치

pacman -Syu
pacman -S nginx php-fcm mariadb vsftpd

Nginx 시작 및 서비스 등록

systemctl start nginx; systemctl enable nginx

PHP 시작 및 서비스 등록

systemctl start php-fpm; systemctl enable php-fpm

MariaDB 시작 및 서비스 등록

systemctl start mysqld; systemctl enable mysqld

FTP 시작 및 서비스 등록

systemctl start vsftpd; systemctl enable vsftpd

웹 서비스 사용자 및 디렉토리 생성

useradd -m gaerae
passwd gaerae
chown 755 /home/gaerae

사용자 등록 여부 확인

cat /etc/passwd | grep gaerae

Nginx 설정

cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.backup
vim /etc/nginx/nginx.conf

기존 내용을 모두 지우고 아래 내용으로 변경한다.

user http gaerae;
worker_processes  1;

error_log   /home/nginx_error.log;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    gzip  on;

    server {
        listen       80;
        server_name  blog.gaerae.com;
        root         /home/gaerae;

        location / {
            index     index  index.php index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }

        location ~ \.php$ {
            fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;
            fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include        fastcgi.conf;
        }

        location ~ /\.ht {
            deny  all;
        }

        location ~ /(data|conf|bin|inc)/ {
            deny all;
        }
    }
}

PHP 설정

cp /etc/php/php.ini /etc/php/php.ini.backup
vim /etc/php/php.ini
파일에서 아래 항목을 찾은 앞에 세미콜론(;)만 제거 후 저장한다.
extension=mysql.so

웹 서비스 디렉토리를 임의로 지정했다면 open_basedir 찾은 후 경로를 추가하자.

MariaDB 비밀번호 설정

mysqladmin -u root password

FTP 설정

vim /etc/vsftpd.chroot_list
사용자 아이디 추가 후 저장한다.
gaerae

Nginx/ PHP/ MariaDB/ FTP 재 시작

systemctl restart nginx php-fpm mysqld vsftpd


모든 설치가 끝났다.
이제 위에서 지정한 본인의 도메인(blog.gaerae.com)으로 접속하여 확인해보자.
웹 페이지와 FTP가 모두 잘 접속되면 지금까지 수고했다.