아마존 리눅스 - Gnuboard
$ 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