SK Rookies 9/Cloud

아마존 리눅스 - Gnuboard

CodeBeginer 2022. 9. 27. 16:10

$ sudo  yum  update  -y                                     // -y는 미리 yes로 설정
$ sudo  yum  install  httpd                                  // 아파치 웹서버 설치
$ sudo  amazon-linux-extras  install  -y  lamp-mariadb10.2-php7.2  php7.2          // lamp : Linux용 Apache2 MySQL PHP (웹서버 세트)
$ sudo  yum  install  -y  mariadb-server
$ sudo  systemctl  start  httpd                             // 아마존 리눅스에서는 아파치 시작명령을 사용해야 아파치가 시작함
$ sudo  systemctl  enable  httpd                          // 부팅할 때마다 시작하도록 등록함
$ sudo  usermod -a -G apache ec2-user                 // 아파치 그룹(-G apache)에 ec2-user를 추가(-a : add)함
$ sudo  chown -R ec2-user:apache  /var/www           // 웹서버 루트 디렉토리(/var/www)의 소유권을 apache그룹의 ec2-user로 변경함
$ sudo  chmod 2775  /var/www                             // 웹서버 루트 디렉토리의 권한을 2775로 변경(other는 read와 executable만 가능)
$ sudo  find  /var/www  -type d -exec chmod  2775 {} \;              // 웹서버 루트 디렉토리의 하위 디렉토리가 2775로 되어있는지 확인
$ sudo  find  /var/www  -type f -exec chmod  0664 {} \;               // 웹서버 루트 디렉토리의 하위 파일이 0664로 되어 있는지 확인
$ echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php
------> 웹브라우저를 열고 접속해서 잘 실행되는지 확인해봅니다.    http://IP주소/phpinfo.php

실습) 그누보드 추가 설치하기  (각자)
1) DB설정
$ sudo systemctl start mariadb
$ sudo mysql -u root -p                   // 초기에는 패스워드가 없어서 그냥 들어감
create database gnuboard;
create user board@localhost identified by 'cyber12#$';
grant all privileges on gnuboard.* to board@localhost;
flush privileges;
exit;
2) gnuboard source 코드 다운로드 (git 설치되어 있어야 함)
$ sudo  yum  install  git
$ cd   /var/www/html
$ sudo git clone https://github.com/gnuboard/gnuboard5
$ cd  gnuboard5
$ sudo mkdir data
$ sudo chmod 0777 data                             // 777과 707의 차이는 그룹에 권한을 주느냐 안주느냐의 차이입니다 

707은 안먹힘 -> 위에 폴더 권한 설정의 영향이 있음
$ sudo  yum  install  php  php-mariadb  php-common  php-gd  php-fpm  php-xml  php-json  php-curl  git  -y
                ( lamp-mariadb10.2-php7.2를 설치했기 때문에 php-mysql은 설치할 필요 없음)
$ sudo  systemctl  restart  httpd