본문 바로가기
코딩, 개발 꾸준히 하면 볕날선생만큼 한다.

2021년 12월 11일 기준 라이믹스 VPS 설치 방법

by 볕날선생 2021. 12. 10.
728x90
반응형

엔진엑스, PHP, 마리아디비 설치 

 

메모리가 적다면 스왑파일 생성

sudo apt update && sudo apt upgrade
sudo fallocate -l 원하는기가숫자G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

아래 편집기 드가서

sudo nano /etc/fstab

셋째줄에

/swapfile swap swap defaults 0 0

추가

컨트롤 + X + Y 엔터 = 저장

 

sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 80 -j ACCEPT

sudo netfilter-persistent save

 

sudo reboot

재부팅


sudo apt install -y nginx php7.4 php7.4-fpm php7.4-cli php7.4-bcmath php7.4-bz2 php7.4-dev php7.4-common php7.4-json php7.4-opcache php7.4-readline php7.4-mbstring php7.4-curl php7.4-gd php7.4-mysql php7.4-mysqlnd php7.4-gmp php7.4-imagick php7.4-zip php7.4-intl php7.4-xml php7.4-xmlrpc php7.4-dba php7.4-soap php7.4-ctype php7.4-pdo php7.4-redis php7.4-geoip php7.4-simplexml php7.4-exif php7.4-fileinfo php-pear php-fpm

 

잘뜨나 확인 

nginx -v

 

 

sudo nano /etc/nginx/sites-available/default

나노 편집기 실행해서 아래 부분 수정하고 컨트롤 + x 와이 저장

쭉 내려가다 보면

        root /var/www/html;

        # Add index.php to the list if you are using PHP
        index index.html index.htm index.nginx-debian.html;

        server_name _;

        location / {

              # First attempt to serve request as file, then

              # as directory, then fall back to displaying a 404.

                try_files $uri $uri/ =404;

        }

 

부분이 나오는데 여기서 아래처럼 index.php 를 추가합니다. 

        root /var/www/html;

        # Add index.php to the list if you are using PHP
        index index.php index.html index.htm index.nginx-debian.html;

 

        server_name _;

        location / {

              # First attempt to serve request as file, then

              # as directory, then fall back to displaying a 404.

                try_files $uri $uri/ =404;

        }

 

그리고 아래 내려가다보면 . 

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

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #       deny all;
        #}
}

라는 부분이 있는데 아래처럼 바꿔줍니다. 

        # pass PHP scripts to FastCGI server
        #
        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/run/php/php7.4-fpm.sock;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
                include fastcgi_params;
                fastcgi_read_timeout 300;
        }

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        location ~ /\.ht {
               deny all;
        }
}

 

내용을 수정하고 ctrl 컨트롤 + 엑스 X 를 누르고 (Save Modified Buffer ?) Y 를 누르고 엔터를 쳐서 저장을 하면 됩니다. 

 

sudo nginx -t

 

sudo systemctl reload nginx 

sudo service nginx restart

재시작

 

아래 취소선 한 이유는 생략해도 되서.

그리고 나서 이제 info.php 파일을 /var/www/html 경로에 만들고 php 정보가 잘 적용되었는지 확인해봐야 합니다.

cd /var/www/html

html 폴더에 들어가서

sudo touch info.php

info.php 라는 파일을 만듭니다. 앞에 info 라는 이름은 본인이 테스트하고자 하는 아무 이름이나 상관 없습니다. 

sudo nano info.php

나노 편집기로 info.php 파일을 불러옵니다.

 

새로 만든파일이니 빈칸이겠죠. 여기에 

 

<?php phpinfo(); ?> 

 

라는 내용을 복사 붙혀넣기 하고 내용을 수정하고 ctrl 컨트롤 + 엑스 X 를 누르고 (Save Modified Buffer ?) Y 를 누르고 엔터를 쳐서 저장합니다. 

 

http://고정 아이피 주소/info.php 를 인터넷 주소창에 쳐서 잘 php 정보가 잘 뜨는지 확인합니다. 

잘 뜨면 아래 명령어를 쳐서 

 

cd /var/www/html

sudo rm index.nginx-debian.html
sudo rm info.php

/var/www/html 에 있는 index.nginx-debian.html 파일과 info.php 파일을 삭제합니다.

SFTP / ftp 프로그램을 통해서 삭제해줘도 됩니다. 

 

그리고 http://고정 아이피 주소 를 인터넷 브라우저 주소창에 치면 403 Error가 나타납니다. 

403 Not Found nginx/1.18.0 (Ubuntu)


마리아 디비 설치

https://mariadb.org/download/?t=repo-config 

사이트에 접속한다

용복넷, 하루카산 두개가 있는데 용복넷을 기존에 자주 이용하였으나 속도가 좀 느려서 하루카산으로 써봤다.

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,s390x] https://ftp.harukasan.org/mariadb/repo/10.6/ubuntu focal main'

그다음

 

sudo apt update
sudo apt install mariadb-server

 

하고 잘 깔렸나 확인

service mysql status

초록색으로 active running 이라고 뜨면 잘 된거임.

 

이제 마리아 디비 설정을 해줘야한다.

명령어 치는 창이 안나오면 Q 눌러주면 나옴.

 

sudo mysql_secure_installation

이라고 칩니다. 

그러면 순서대로

Enter current password for root (enter for none): 라고 뜰텐데 그냥 엔터 를 치면 됩니다. Enter
Switch to unix_socket authentication [Y/n] N
Change the root password? [Y/n] Y
New password : 마리아 디비에서 사용할 비번 잘 생각해서 칩니다. 
Re-enter new password: 다시한번 위에서 설정한 비번을 칩니다.
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] N
Remove test database and access to it? [Y/n] Y
Reload Privilege tables now? [Y/n] Y

Thanks for using MariaDB! 

그리고 명령어 줄이 다시 뜹니다. 

아래 명령어를 쳐서 php-mysql 모듈이 잘 설치되었나 확인합니다.

sudo apt-cache policy php7.4-mysql

만약 위 명령어를 쳤는데 installed : (none) 이라고 나타나면 

sudo apt-get install php7.4-mysql

을 쳐서 설치해줌 됩니다.

 

이제 언어설정을 해줘야 겠네요. 

sudo touch /etc/mysql/conf.d/mariadb.cnf

라고 쳐서 마리아디비.cnf 파일을 만들어 줍니다. 그리고 

sudo nano /etc/mysql/conf.d/mariadb.cnf

나노 에디터 로 불러옵니다. 방금 만든 파일이니 아무런 내용도 없겠죠. 

[client]
default-character-set=utf8mb4

[mysql]
default-character-set=utf8mb4

[mysqld]
collation-server = utf8mb4_unicode_ci
character-set-server = utf8mb4
collation_server = utf8mb4_unicode_ci
character_set_server = utf8mb4

이 내용을 고대로 복붙해줍니다. 

 

복사 붙혀넣기 하고 내용을 수정하고 ctrl 컨트롤 + 엑스 X 를 누르고 (Save Modified Buffer ?) Y 를 누르고 엔터를 쳐서 저장합니다. 

 

이제 마리아디비 설치와 언어 설정이 완료되었으니 재부팅을 해줍니다. 

sudo service mysql restart
sudo iptables -F
sudo shutdown now -r

다시 퍼티 를 실행합니다. 

 

퍼티를 실행하고 Maria DB 에 접속해서 DB를 생성해줄 겁니다.

mysql -u root -p

명령어를 치면 위에서 만든 마리아 디비 에서 사용할 비밀번호를 치라고 나옵니다. 비번을 쳐주면 

MariaDB [(none)]> 

이라고 마리아 디비 / mysql 에서 사용하는 명령어 줄이 나옵니다. 

디비 저장소를 이제 만들겁니다. 

MariaDB [(none)]> CREATE DATABASE 본인이 원하는 데이터베이스 저장소 이름;

그리고 나서 

MariaDB [(none)]> SHOW DATABASES;

라고 치면 

+--------------------+
| Database                |
+--------------------+
| information_schema |
| 데이터베이스이름    |  # 생성한 DB 데이터베이스 저장소
| mysql                    |
| performance_schema |
+--------------------+
4 rows in set (0.000 sec)

 

이렇게 나올겁니다. 

 

이제 마리아 디비 MariaDB 를 사용할 계정을 생성할 겁니다. 아까는 마리아 디비 접속 비번을 설정해주었던 거고, 이후에 마리에 디비 접속 이후 사용자에 대한 계정을 생성한다고 보면 됩니다.

 

MariaDB [(none)]> CREATE USER 사용할아아디@localhost;

라고 쳐서 아이디를 만들고 잘 기억해두셔야 합니다.

 

그리고 방금 만든 아이디의 비번을 만들어야겠죠. 

MariaDB [(none)]> SET PASSWORD FOR 방금만든아이디@localhost=PASSWORD("비밀번호");

마리아 DB 에 접속 한 이후에 그 안에서 이용할 계정의 아이디 랑 비밀번호 가 잘 만들어 졌습니다. 

이제 이 만들어진 계정의 생성한 DB 저장소 의 권한을 줘야겠죠. 

MariaDB [(none)]> GRANT ALL PRIVILEGES ON 위에서만든DB이름.* TO 방금만든아이디@localhost IDENTIFIED BY '방금설정한비번';

권한을 적용합니다.

MariaDB [(none)]> FLUSH PRIVILEGES;

잘 적용 되었으니 이제 마리아DB 에서 나갑니다.

MariaDB [mysql]> exit;

Bye 


https://rhymix.org/manual/introduction/install

이제 라이믹스 설치 단계다.

 

cd /var/www/html
기본 페이지인 html 페이지로 이동

sudo git clone https://github.com/rhymix/rhymix.git
그리고 위처럼 치면 html 폴더에 rhymix 폴더가 생기고 그 안에 깔림

그걸 이제 html 최상위 폴더로 복사 카피뜸
sudo cp -a /var/www/html/rhymix/. /var/www/html

그리고 기존 있던 라이믹스 폴더 지우기
sudo rm -r -f rhymix

그리고 
cd /var/www/html
기본 폴더에서

sudo mkdir files
files란 폴더를 만들고

sudo chmod 777 files
권한 777을 준다

그리고 아이피 주소 입력하면 설치 마법사 시작
인데! 그전에 짧은주소 설정을 위해서

cd /etc/nginx/snippets

sudo touch rhymix.conf

라이믹스.conf 라는 파일 만들고


sudo nano rhymix.conf

나노 편집기 실행을 한다 그리고 아래 내용 복붙 (복사해서 마우스 오른쪽버튼 창에 누르면 붙여넣기 퍼티기준)

# block direct access to templates, XML schemas, config files, dotfiles, environment info, etc.
location ~ ^/modules/editor/(skins|styles)/.+\.html$ {
	# pass
}
location ~ ^/(addons|common/tpl|files/ruleset|(m\.)?layouts|modules|plugins|themes|widgets|widgetstyles)/.+\.(html|xml)$ {
	return 403;
}
location ~ ^/files/(attach|config|cache/store)/.+\.(ph(p|t|ar)?[0-9]?|p?html?|cgi|pl|exe|[aj]spx?|inc|bak)$ {
	return 403;
}
location ~ ^/files/(env|member_extra_info/(new_message_flags|point))/ {
	return 403;
}
location ~ ^/(\.git|\.ht|\.travis|codeception\.|composer\.|Gruntfile\.js|package\.json|CONTRIBUTING|COPYRIGHT|LICENSE|README) {
	return 403;
}

# fix incorrect relative URLs (for legacy support)
location ~ ^/(.+)/(addons|files|layouts|m\.layouts|modules|widgets|widgetstyles)/(.+) {
	try_files $uri $uri/ /$2/$3;
}

# fix incorrect minified URLs (for legacy support)
location ~ ^/(.+)\.min\.(css|js)$ {
	try_files $uri $uri/ /$1.$2;
}

# fix download URL when other directives for static files are present
location ~ ^/files/download/ {
	try_files $uri $uri/ /index.php$is_args$args;
}

# all other short URLs
location / {
	try_files $uri $uri/ /index.php$is_args$args;
}

컨트롤 + 엑스 눌러서 저장.

 

그리고 VPS 아이피주소를 인터넷창 켜서 치면 설치화면이 나오지만, 아직 설정을 더 하고 설치하자.

 

sudo nano /etc/nginx/sites-enabled/default

쳐서 아래에 

server {
    listen 80 default;    # 다른 파일을 만들어 쓰는 경우 default 삭제
    root /var/www/html;   # 라이믹스를 설치할 경로 (반드시 최상단에 위치해야 합니다.)
    server_name _;        # 사용할 도메인을 여기에 추가해도 됨 (예: server_name example.com www.example.com;)
    index index.html index.htm index.php;   # index.php가 반드시 포함되어 있어야 합니다.
    client_max_body_size 32m;   # 업로드 허용 용량 (라이믹스는 분할 업로드를 지원하므로 약 10MB만 넘으면 사실상 무한[>

    include snippets/rhymix.conf;   # 라이믹스 rewrite 규칙 인클루드

    # location 구문을 사용하는 다른 설정은 반드시 라이믹스 rewrite 규칙보다 나중에 선언해야 합니다.
    location ~ \.php$ {
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;    # PHP-FPM을 유닉스 소켓으로 연동하는 경우
    #   fastcgi_pass 127.0.0.1:9000;                   # PHP-FPM을 로컬 포트로 연동하는 경우
        include snippets/fastcgi-php.conf;
    }
}

이렇게 세팅한다.

 

중요한거 윗단계에서 애초에 쩌 위에 초기에 디폴트 파일을 이걸로 수정하면 되지 않나? 싶을수 있는데 그럼 설치가 안된다. 설치단계로 안넘어감.

 

기존에 있던 건 컨트롤 + K를 누르면 쉽게 행(줄)별로 지울 수 있다.

컨트롤 X 엔터 저장하고

 

sudo nginx -t

구문 문제 없나 체크하고

 

sudo systemctl reload nginx 

sudo service nginx restart

재시작

 

다시 아이피주소 입력하고 설치하면 끝!

 

주의!

SSL HTTPS 설정이 되어있어서 체크하고 설정을 하면 계속

_getContent method is not exists

라는 메세지가 뜬다.

 

CMS 설치 마법사에서 SSL 사용안함으로 하고 나중에 사이트 설정에서 도메인 변경으로 하자.


라이믹스 설치 이후 문제

도메인을 입힐때는 라이믹스 로그인 -> 톱니바퀴 -> 설정 내 시스템설정 들어가서 아이피 주소로 되어있는 초기 도메인 오른쪽에 보면 보이는 복사 를 눌러서 거기에 사이트제목/부제목/도메인 칸테 새로입힌 도메인 주소 https 입힌 도메인 주소 / Https 사용 권장을 바꾸고 아래 저장 누르면 된다.

추가로 해서 하려니 안되더라고. 그래서 복사로 하는 방법으로 해결.


설치 후 레이아웃 단 변경시 문제 권한문제

파일질라를 통해서 파일을 다운로드 하고 변경하려고 하면 안되어서,

권한을 아래 처럼 부여해주고 (퍼티에서) 파일을 다운로드하거나 옮긴다.

sudo chown -R 사용자명(예:ubuntu) /var/www/html

sudo chgrp -R ubuntu /var/www/html


라이믹스 Rhymix Template not found: ./common/tpl/layout.html 오류 문제

레이아웃이 XEDITION 말고는 다른것들은 설치만 하면 모두 

Template not found: ./common/tpl/layout.html 라는 오류가 발생했다.

해결방법이 없어서 없는 layout.html 파일 만들어서 넣어도 보고 레이아웃 스킨 파일들에 있는거 옮겨도 보고 별의 별 G LAL 을 다 해보았으나 안되었는데, 앗차! 이건 분명 권한 문제다 싶어서

아래 

 

sudo chown -R www-data:www-data /var/www/html

 

sudo usermod -a -G www-data ubuntu

 

이렇게 권한 줘버리니 해결됨 ㅎ 끝!

728x90
반응형