오라클클라우드 VM인스턴스에 LEMP 스택 설치하기
안녕하세요. 달소입ㄴ다.
앞서 오라클 클라우드의 계정을 만들고 무료 VM을 생성하셨을텐데 오늘은 거기서
워드프레스,라이믹스,Nextcloud를 설치하기 위한 밑바탕인 LEMP 스택을 설치하도록하겠습니다.
날짜가 싱싱한 2021년 05월 11일 버전이니..ㅎㅎ 이시기에는 이대로만 하시면 되실겁니다!
설치환경
오라클 무료 VM 1ocpu, 1RAM , Ubuntu 20.04 LTS
먼저 설치하기전에 apt update && apt upgrade 를 통해 패키지를 최신상태로 업데이트해주세요.
Nginx 설치하기
설치될 nginx 버전은 apt list nginx 명령어로 간단하게 확인이 가능합니다.
설치는 간단하게 apt install nginx
설치가 완료되었으면nginx -v로 버전확인을 해주고
service nginx status 명령어로 시작되었는지 확인 해주세요.
nginx는 기본적으로 웹서버이기때문에 80포트로 접근하며 실행확인이 가능합니다.
물론 방화벽이 열려있다면요...
방화벽 설정은 아래 포스팅을 참조해주시면 되겠습니다
오픈할때는 반드시 80,443을 모두 오픈해주세요. 그래야 나중에 SSL인증서도 바로적용가능합니다.
PHP-FPM 설치하기
이제 실질적인 웹페이지의 동적처리르 담당하는 php-fpm의 설치입니다.
apache의경우 php를 같이쓰지만 nginx는 php-fpm을 사용하니 참고해주시면되겠습니다.
php의 경우 모듈도 많기 때문에 필요한 모듈도 함께 설치하겠습니다.
여기서 설치해볼 버전은 php7.4 버전입니다.
설치는 아래 명령어를 통해 진행하시면 됩니다.
apt install php7.4-fpm php7.4-gd php7.4-json php7.4-mysql php7.4-curl php7.4-mbstring php7.4-intl php-imagick php7.4-xml php7.4-zip
php7.4-opcache
설치 후 아래 명령어로 재부팅시 동작 + 실행을 시켜줍니다.
systemctl enable php7.4-fpm
systemctl start php7.4-fpm
service php7.4-fpm status
PHP 동작 확인하기
동작확인을 위해서는 php파일 생성하나가 필요합니다.
겸사겸사 web root 폴더도 생성하도록 하겠습니다.
mkdir -p /var/www/html
vi /var/www/html/index.php
내용은 아래 내용을 복사 붙여넣기 해주세요.
<?php
phpinfo();
?>
그리고 nginx에서 php파일을 읽을수있도록 기본 서버셋팅도 변경해줍니다.
기본적으로 있는 파일은 지워주고 새로 만들어주겠습니다.
rm -rf /etc/nginx/sites-available/default
vi /etc/nginx/sites-available/default
server {
listen 80 ;
listen [::]:80 ;
root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;
server_name _;
access_log /var/log/nginx/web.access.log;
error_log /var/log/nginx/web.error.log;
location / {
try_files $uri $uri/ /index.php?$args;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /var/www/html;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_cache off;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
include mime.types;
}
location ~ /\.ht {
deny all;
}
}
파일생성후에는 service nginx restart
로 nginx를 재시작 시켜주세요.
그리고 웹브라우저로 접속해보면 아래처럼 화면이 잘 나오는걸 확인할 수 있습니다.
MariaDB 설치하기
LEMP 스택에서 M은 MySQL과 MariaDB둘중 아무거나 깔으셔도 상관없지만..
저는 좀더 친숙한 MaraiDB로 하겠습니다.
MySQL의 오픈소스 버전으로 관계형데이터베이스를사용하기 때문에 뭐... 똑같습니다.
아래 레포 등록부터 설치까지 차근차근해주시면 문제없습니다.
sudo apt-get install software-properties-common dirmngr apt-transport-https
sudo apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'
sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] https://ftp.harukasan.org/mariadb/repo/10.5/ubuntu focal main'
sudo apt update
sudo apt install mariadb-server
아래처럼 10.5 버전을 받으시면 됩니다.
설치후에는 mariadb가 바로 실행되므로
service mariadb status 명령어로 정상실행여부가 확인가능 합니다.
이렇게 여러 웹사이트를 만들수있는 기반이되는 LEMP스택을 모두 설치해보았습니다.
다음편에서는 간단하게 워드프레스를 여기에 설치해보도록하겠습니다.
ubuntu22.04 / php7.4버전이 없어서 찾아보니 php8.1 버전이더라구요.
그런데 8.1버전에서 json 모듈만 안보이네요. 혹시 방안이 있을까요?
8.0부터 json 확장은 코어에 포함되었다고하네요.
https://lindevs.com/json-extension-is-always-available-in-php-8-0
그럼 나머지만 설치하면 되겠네요! 감사합니다~ 달소님~^^
혹시나 저처럼 따라하다가 안되시는분 계실까봐 댓글 답니다.
vi /etc/nginx/sites-available/default 까지 하고 홈페이지 확인했을때 404에러 뜬다면
방금 vi로 작성한 dafault 파일 코드확인 해보세요.
기존 코드를 보시면
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
로 되어있는데
***코드에 적힌 php버전을 현재 설치된 php 버전이랑 맞춰주어야합니다.***
예를들어 php버전을 8.1로 설치 했다면
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
로 바꾸시면 됩니다!
달소님 MariaDB 10.9.2까지 나온것으로 확인되는데요. 최신버전으로 설치했을때 문제점이나 단점이 있을까요? 그냥 최신으로 해도 무관한지..아니면 10.5로 따라하는게 가장 나을지요..?
최신버전으로 진행하셔도 괜찮으실겁니다~
cmt alert