본문 바로가기

Linux(CentOS 8.0.ver) + Ubuntu

LAMP + 그누보드 설치 / 게시판 데이터 S3로 전송

참고) CentOS console이 아닌 명령프롬프트에서 작업하려면 ssh 서비스를 시작시킨다

명령프롬프트에서 작업하면 붙여넣기가 되서 편리하다

$ service sshd start

 

 

명령프롬프트에서 CentOS 서버IP 주소로 접속한다

 

$ssh "서버IP" -l root

 

 

AMP 설치

"PHP-GD"는 그누보드 설치에 필요한 라이브러리이다(설치하지 않으면 업로드한 이미지를 인식하지 못한다)

$ yum install -y httpd mysql mysql-server php php-mysqlnd php-gd

 

 

$ systemctl start httpd

 

 

$ systemctl enable httpd

 

 

$ systemctl start mysqld

 

 

$ systemctl enable mysqld

 

 

외부에서 HTTP로 접근을 허용(설정 안하면 접속이 안된다)

$ firewall-cmd --permanent --add-service=httpd
$ firewall-cmd --reload

 

 

MySQL 데이터베이스 보안을 강화하는 설정(root 사용자로 데이터베이스 연결 시 사용할 비밀번호 설정) 

$ mysql_secure_installation

 

 

데이터베이스 연결(mysql_secure_installation에서 설정한 비밀번호 입력)

$ mysql -h localhost -u root -p

 

 

데이터베이스 생성 및 사용자 설정

그누보드 DB사용자 설정 시 사용하므로 이름과 비밀번호를 기억한다

mysql> create database gnuboard5;

 

 

mysql> use mysql;

 

 

 

mysql> create user userid@localhost identified by '비밀번호';

 

 

'%' 의 의미는 외부에서의 접근을 허용한다는 것이다

mysql> create user userid@'%' identified by '비밀번호';  

 

 

mysql> GRANT ALL privileges ON DB명.* TO 계정아이디@locahost;

 

 

모든 원격지에서 접속 권한 추가

(host에 '100.50.%' 로 하면 IP주소가 100.50.X.X 로 시작되는 모든 IP에서 원격 접속을 허용한다는 의미이다)

mysql> GRANT ALL privileges ON DB명.* TO 계정아이디@'%'

 

 

mysql> exit

 

 

$ cd /var/www/html

 

 

$ yum install -y git

 

 

그누보드 설치

$ git clone https://github.com/gnuboard/gnuboard5

 

 

$ cd gnuboard5

 

 

$ mkdir data

 

 

$ chmod 707 data

 

 

AWS CLI 설치

$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"

 

 

$ unzip awscliv2.zip

 

 

$ sudo ./aws/install

 

 

브라우저에 "서버IP주소/gnuboard5"로 들어가서 관리자로 로그인하고 게시판에 들어가서 이미지를 업로드한다

업로드한 다음 아래의 명령어를 입력한다

$ aws s3 sync /var/www/html/gnuboard5/data/file/free s3://web-upload-bucket/backup

 

 

S3 버킷을 확인해보면 그누보드 게시판에 업로드한 이미지가 저장된 것을 확인할 수 있다