AWS) LAMP 서버를 이용하여 Wordpress 설치
Objective
Linux에 Apache, MySQL, PHP 설치하고, 궁극적으로 Wordpress 설치하기
LAMP는 웹사이트 운영에 자주 쓰이는 소프트웨어 번들인 ‘Linux, Apache, MySQL, Php’를 의미
Solution
- putty 실행하여 로그인
- EC2 VM의 Linux Version 확인
1
car /etc/system-release
- Amazon Linux 전용 패키지 설치 명령어 및 yum 명령어를 사용하여, Apache, PHP, MySQL을 설치
1
2
3
sudo amazon-linux-extras install lamp-mariadb10.2-php7.2 php7.2 -y
sudo yum install -y httpd mariadb-server
- Apache의 실행 및 실행되었는지 확인
1
2
3
sudo systemctl start httpd
ps -ef | grep httpd
실행이 안 되었으면 아래와 같이 나오는 목록이 없습니다.
1
sudo systemctl status httpd
실행 중인 것을 확인할 수 있습니다.
- 마찬가지로 PHP도 실행하기
1
2
3
sudo systemctl start php-fpm
sudo systemctl status php-fpm
- Apache, php-fpm의 재시작 시 자동으로 시작할 수 있도록 설정
1
2
3
sudo systemctl enable httpd
sudo systemctl enable php-fpm
확인
1
sudo systemctl status httpd
- AWS - 인스턴스 메뉴 -> 목록에서 인스턴스 ID 클릭 -> 아래에서 보안 탭 -> 보안 그룹 클릭
- 인바운드 규칙 편집 버튼 -> 규칙 추가 버튼 -> 0.0.0.0/0 선택(아무나 접속 가능하게 됨) -> 규칙 저장 버튼
적용되었습니다.
- 구매한 도메인 주소를 사용하여 Apache Demo 페이지 접근 테스트
- Apache의 document root
1
2
cd /var/www
ls -alt
ec2 user라서, 해당 디렉토리에 대한 권한을 조정해야 wordpress를 설치를 하고, 해당 디렉토리에 접근할 수 있습니다.
- 관리자 권한으로 유저의 권한을 조정
1
2
groups
sudo usermod -a -G apache ec2-user
ec2유저를 아파치 그룹에 넣기
오른쪽 마우스 클릭 -> Duplicate Session
- 새 창에서 다시 확인
1
groups
권한을 변경함
1
2
3
4
5
cd /var/www
ls -alt
sudo chown -R ec2-user.apache /var/www
ls -alt
권한을 받았으면 ec2 유저가 해당 디렉토리에 들어가서 파일을 작성 가능.
1
2
3
4
5
6
7
8
cd html
ls
echo "<?php phpinfo(); ?>"> /var/www/html/phpinfo.php
pwd
ls -alt
cat phpinfo.php
php 모듈이 동작하는 지 확인
- php 연동 확인 테스트
1
pwd
/var/www/html : 이 위치가 document root
- phpinfo.php 를 웹에서 확인
- 보안 취약점이 있어서 해당 파일을 지움
1
2
3
ls -alt
rm -f phpinfo.php
ls -alt
- 웹에서 확인
‘File not found.’ 메시지가 보이며 파일이 지워진 것을 확인할 수 있습니다.
- mariadb 설치 및 상태 확인
1
2
sudo systemctl start mariadb
sudo systemctl status mariadb
- mysql 관리자 계정에 대한 DB 설정
1
2
3
4
5
6
7
8
sudo mysql_secure_installation
(enter)
y
(password)
y
y
y
y
1
2
3
4
5
mysql -u root
mysql -u root -p
(password)
show databases;
- 워드프레스에서 사용할 데이터베이스를 생성
- 워드프레스의 사용자와 비밀번호를 생성 및 적용 -> 테스트
1
2
3
4
5
6
7
GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress'@'localhost' IDENTIFIED BY '1234';
FLUSH PRIVILEGES;
show databases;
exit
mysql -u wordpress -p
show databases;
- 워드프레스 설치
1
2
3
4
5
6
exit
pwd
mkdir Downloads
cd Downloads/
pwd
home에서 디렉토리 만들고 위치확인
다운받고 확인하기 -> 압축풀기 -> 워드프레스 디렉토리로 이동 -> 해당 파일을 복사
1
2
3
4
5
6
7
8
9
10
11
12
13
14
wget
wget https://ko.wordpress.org/wordpress-5.0.11-ko_KR.zip
ls -alt
unzip wordpress-5.0.11-ko_KR.zip
ls
unzip wordpress-5.0.11-ko_KR.zip
(Ctrl+C)
ls
cd wordpress/
ls
pwd
cp -rp * /var/www/html/
cd /var/www/html
ls -alt
권한을 바꾸는 명령어
1
2
3
4
5
6
7
8
9
cd ..
sudo chmod 2775 /var/www && find /var/www -type d -exec sudo chmod 2775 {} \;
find /var/www -type f -exec sudo chmod -0664 {} \;
sudo chmod 777 /var/www/html -R
ls
cd html
ls
pwd
1
2
3
ls -alt
stat index.php
ls -alt
파일변경
1
mv wp-config-sample.php wp-config.php
- vi 에디터 사용하여 DB 정보 변경
1
2
3
4
5
6
ls -alt
ls
vi wp-config.php
(제일 밑으로 내려서 a를 눌러서 INSERT로 들어간다.)
define('FS_METHOD','direct');
DB_NAME 부분에서 wordpress로 바꾸기 -> DB_USER 도 wordpress로 바꾸기 -> DB_PASSWORD’도 바꾸기 -> esc -> :wq
수정했던 데이터베이스 정보를 확인
1
cat wp-config.php
권한 조정
1
2
3
ls -alt
sudo chown -R ec2-user.apache /var/www
ls -alt
적용하기 위해 재시작
1
2
3
sudo systemctl restart httpd && sudo systemctl restart php-fpm
ps -ef | grep httpd
ps -ef | grep php-fpm
- 도메인에 들어가서 확인하기
워드프레스 설치 화면에서 빈칸을 임의로 입력
워드프레스가 설치되어서 로그인이 가능하게 됨
웹사이트 서버가 동작하는 것을 확인
다시 도메인 주소로 들어가면 기본 테마를 확인할 수 있음
- 테마 변경하기
메뉴에서 테마디자인 -> 테마 -> 새로추가 버튼
- 원하는 테마 골라서 설치 버튼 -> 활성화 버튼