Amazon LinuxLAMP 웹 서버 설치
http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/install-LAMP.html
다음 절차를 통해 Amazon Linux 인스턴스에 PHP 및 MySQL을 지원하는 Apache 웹 서버를 설치할 수 있습니다. 이 웹 서버를 LAMP 웹 서버 또는 LAMP 스택이라고도 합니다. 이 서버를 사용해서 고정 웹사이트를 호스팅하거나 데이터베이스에서 정보를 읽고 쓰는 동적 PHP 애플리케이션을 배포할 수 있습니다.
중요
LAMP 웹 서버를 Ubuntu 인스턴스에서 설치하려는 경우는 본 자습서를 이용할 수 없습니다. 이 절차는 Amazon Linux에서 사용하기 위한 것입니다. 기타 배포에 대한 자세한 내용은 해당 배포의 특정 문서를 참조하십시오. Ubuntu의 LAMP 웹 서버에 대한 자세한 내용은 Ubuntu 커뮤니티 문서 ApacheMySQLPHP 항목을 참조하십시오.
사전 조건
본 자습서는 사용자가 인터넷에서 접근할 수 있는 퍼블릭 DNS 이름을 가진 새 인스턴스를 이미 실행한 것으로 가정하고 있습니다. 자세한 내용은 1단계: 인스턴스 시작 단원을 참조하십시오. SSH(포트 22), HTTP(포트 80), HTTPS(포트 443) 연결을 허용할 수 있도록 보안 그룹을 구성해야 합니다. 이 사전 요구 사항에 대한 자세한 내용은 Amazon EC2로 설정 단원을 참조하십시오.
[ec2-user ~]$
sudo yum update -y
[ec2-user ~]$
sudo yum install -y httpd24 php56 mysql56-server php56-mysqlnd
[ec2-user ~]$
sudo service httpd start
Starting httpd: [ OK ]
[ec2-user ~]$
sudo chkconfig httpd on
[ec2-user ~]$
chkconfig --list httpd
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Ports Protocol Source launch-wizard-N
22 tcp 0.0.0.0/0 ✔
보안 그룹에 규칙 추가의 절차를 사용하여 다음 값으로 새로운 인바운드 보안 규칙을 추가합니다.
Type - HTTP
Protocol - TCP
Port Range - 80
Source - Custom
Apache 테스트 페이지를 볼 수 없는 경우, 사용 중인 보안 그룹에 HTTP(포트 80) 트래픽을 허용하는 규칙이 있는지 확인하십시오.
[ec2-user ~]$
ls -l /var/www
total 16
drwxr-xr-x 2 root root 4096 Jul 12 01:00 cgi-bin
drwxr-xr-x 3 root root 4096 Aug 7 00:02 error
drwxr-xr-x 2 root root 4096 Jan 6 2012 html
drwxr-xr-x 3 root root 4096 Aug 7 00:02 icons
drwxr-xr-x 2 root root 4096 Aug 7 21:17 noindex
[ec2-user ~]$
sudo usermod -a -G apache ec2-user
[ec2-user ~]$
exit
[ec2-user ~]$
sudo chown -R ec2-user:apache /var/www
[ec2-user ~]$
sudo chmod 2775 /var/www
[ec2-user ~]$
find /var/www -type d -exec sudo chmod 2775 {} \;
[ec2-user ~]$
find /var/www -type f -exec sudo chmod 0664 {} \;
[ec2-user ~]$
echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php
http://my.public.dns.amazonaws.com
/phpinfo.php
[ec2-user ~]$
sudo yum list installed httpd24 php56 mysql56-server php56-mysqlnd
Loaded plugins: priorities, update-motd, upgrade-helper
Installed Packages
httpd24.x86_64 2.4.25-1.68.amzn1 @amzn-updates
mysql56-server.x86_64 5.6.35-1.23.amzn1 @amzn-updates
php70.x86_64 7.0.14-1.20.amzn1 @amzn-updates
php70-mysqlnd.x86_64 7.0.14-1.20.amzn1 @amzn-updates
[ec2-user ~]$
rm /var/www/html/phpinfo.php
Mysql 서버보안 유지
[ec2-user ~]$
sudo service mysqld start
Initializing MySQL database:
...
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
...
Starting mysqld: [ OK ]
[ec2-user ~]$
sudo mysql_secure_installation
암호를 입력하라는 메시지가 표시되면 루트 계정의 암호를 입력합니다.
현재 루트 암호를 입력합니다. 기본적으로 root 계정에는 암호가 없습니다. Enter를 누릅니다.
암호를 설정하려면
Y
를 누른 후 안전한 암호를 두 번 입력합니다. 안전한 암호 생성에 대한 자세한 내용은 http://www.pctools.com/guides/password/ 단원을 참조하십시오. 이 암호를 안전한 장소에 보관하시기 바랍니다.참고
MySQL에 대한 루트 암호를 설정하는 것은 데이터베이스를 보호하는 가장 기초적인 방법일 뿐입니다. 데이터베이스 기반 애플리케이션을 빌드하거나 설치할 때, 일반적으로 그 애플리케이션의 데이터베이스 서비스 사용자를 만들고 데이터베이스 관리 이외의 어떤 목적으로도 루트 계정을 사용하지 못하게 합니다.
Y
를 입력하여 익명 사용자 계정을 제거합니다.Y
를 입력하여 원격 루트 로그인을 비활성화합니다.Y
를 입력하여 테스트 데이터베이스를 제거합니다.Y
를 입력하여 권한 테이블을 다시 로드하고 변경 내용을 저장합니다.
[ec2-user ~]$
sudo service mysqld stop
Stopping mysqld: [ OK ]
[ec2-user ~]$
sudo chkconfig mysqld on
...
'프로그래밍' 카테고리의 다른 글
[AWS] EC2에서 Security Groups > Inbound 에서 CIDR 경고 나올 때. (0) | 2017.09.29 |
---|---|
[AWS] AWS EC2에 LAMP 웹서버에 phpMyAdmin 설치 (0) | 2017.09.27 |
[Google] Extending per second billing in Google Cloud , Google Cloud에서 초당 요금 청구 확장 (0) | 2017.09.27 |
[AWS] AWS CodeCommit (0) | 2017.09.27 |
미생 중에서 명언 (0) | 2017.09.27 |