본문 바로가기
잡담

AWS Lightsail CentOS 7에 LAMP(웹서버) 설치가이드

by 디텍트 2020. 10. 16.

 

AWS Lightsail CentOS 7 (OS전용) 인스턴스 기준으로 인스턴스 생성 후 Apache Server + MariaDB 10.* + PHP 7.* + phpMyAdmin(외부접속 허용) + SFTP 루트권한으로 접속까지 한방 정리해 보았다. 작업은 SSH 키를 이용하여 putty에서 함.

 

 

1. 루트권한으로 변경

# sudo su

 

2. LAMP스택과 달리 CENTOS 인스턴스는 초기 루트비번이 없으므로 비번 설정

# passwd

 

3. 업데이트

# yum update -y

 

4. 재부팅(안해도 되지만 권장함)

# reboot

 

5. 아파치서버 설치

# yum install httpd -y

 

6. 아파치서버 시작

# systemctl start httpd

 

※ 서버 IP나 도메인으로 접속하여 확인.

 

7. 아파치서버 부팅시 자동시작 등록

# systemctl enable httpd.service

 

8. 방화벽 설치(aws 인스턴스는 방화벽 설치가 안되어 있다)

# yum install firewalld -y

 

9. 방화벽 시작

# systemctl start firewalld

 

10. 방화벽 부팅시 자동시작 등록

# systemctl enable firewalld

 

11. 방화벽 웹포트 설정

# firewall-cmd --permanent --zone=public --add-service=http

# firewall-cmd --permanent --zone=public --add-service=https

# firewall-cmd --reload

 

12. vi편집기를 이용해 mariaDB 설치를 위한 영역설정

# vi /etc/yum.repos.d/MariaDB.repo

 

13. insert키를 누르고 아래 내용 붙여넣기(그냥 마우스 우클릭하면 된다)

[mariadb]

name = MariaDB

baseurl = http://yum.mariadb.org/10.5/centos7-amd64

gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB

gpgcheck=1

 

14. vi편집 저장하고 빠져나가기

:wq

 

15. mariaDB 설치

# yum install MariaDB-server -y

 

16. mariaDB 시작

# systemctl start mariadb

 

17. mariaDB 설치 상태 보기

# systemctl status mariadb

 

18. mariaDB 부팅시 자동시작 등록

# systemctl enable mariadb

 

19. mariaDB 보안설정

# mysql_secure_installation

 

Switch to unix_socket authentication [Y/n] Y
Change the root password? [Y/n] Y
New password: Type new root password
Re-enter new password: Re-enter new root password
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

 

20. PHP 7.4 설치(with 관련모듈 설치)

# yum install epel-release yum-utils -y

# yum install rpms.remirepo.net/enterprise/remi-release-7.rpm -y

# yum-config-manager --enable remi-php74

# yum install php php-common php-mcrypt php-cli php-gd php-curl php-mysql -y

 

아파치서버, DB, PHP 설치가 끝났다. 

 

이제 vsftpd와 ssh를 설치하고 간단한 설정으로 root권한으로 sftp에 접속하고 phpmyadmin까지 설치한다음 외부접속이 가능하게 해보자. 이것을 하는 이유는 phpmyadmin을 yum으로 설치할 시 외부접속이 가능하게 하는 과정이 복잡하고 서버 환경에 따라 안되는 경우가 많기 때문. 그냥 phpmyadmin을 통째로 루트디렉토리(html, public_html 등)의 하위 디렉토리에 업로드하고 직접 접속하는 것이 편하다. 

 

21. openssh-server 설치

# yum install openssh-server openssh-clients openssh-askpass

 

22. openssh 설정

# vi /etc/ssh/sshd_config

 

=> port 22라고 되어 있는 곳의 주석(#)을 제거.

=> PermitRootLogin yes라고 되어 있는 곳의 주석을 제거.

 

# service sshd restart

 

23. vsftpd 설치

# yum install vsftpd -y

 

24. vsftpd.conf 파일 수정

# vi /etc/vsftpd/vsftpd.conf

 

=> 94 라인 쯤에 있는 chroot_list_enable을 YES로.

=> 96 라인 쯤에 있는 chroot_list_file=/etc/vsftpd/chroot_list 활성화(주석처리 되어 있으면 제거)

 

:wq로 저장

 

25. vsftpd 설정 2가지

# vi /etc/vsftpd/ftpusers

=> 상단의 root을 제거 후 저장

 

# vi /etc/vsftpd/user_list

=> 상단의 root을 제거 후 저장

 

26. vsftpd에 허용할 계정 등록

# vi /etc/vsftpd/chroot_list

=> 상단에 root을 적고 저장.

 

27. selinux 해제 하기

# vi /etc/selinux/config

=> SELINUX=enforcing 을 disabled로 변경 후 저장.

 

28. vsftpd 활성화 및 재시작

# systemctl enable vsftpd

# systemctl restart vsftpd

 

29. httpd 재시작

# systemctl restart httpd

 

30. phpmyadmin 설치를 위한 unzip 설치.

# yum install unzip -y

 

31. phpmyadmin 다운로드

files.phpmyadmin.net/phpMyAdmin/5.0.4/phpMyAdmin-5.0.4-all-languages.zip

phpmyadmin-5.0.4-all-languages.zip의 압축을 푼 다음 폴더로 들어가서 모든 파일들을 모두 선택하고 다시 압축하고 이름을 phpmyadmin.zip으로 변경한다(임의대로 이름 정해도 된다. ex) 1.zip 등)

 

32. 파일질라 접속

CENTOS는 키를 사용한 FTP 접속시 업로드가 안되지만, 위 작업으로 가능하게 되었다. 파일질라에 서버 IP 입력하고 계정이름은 root로, 비번은 설정한 비번을 입력하고 포트번호는 22로 해서 접속한다.

 

31. 루트디렉토리에 phpmyadmin 디렉토리를 생성 후 그곳에 압축한 zip파일을 업로드하고 압축을 푼다.

# unzip phpmyadmin.zip

 

32. 웹브라우저로 phpmyadmin 접속해 본다.

http://www.******.com/phpmyadmin

 

 

- 끝 -

 

 

 

댓글