AWS에서 WordPress를 시작하고 빠진 이야기

소개



갑자기 "좋아-아빠 AWS에서 WordPress 부탁해요-"라고 생각한다.

우선 검색.
htps //w w. 오, ぇ. 이 m/세아 rch? q = 아 ws +를 rdp

정보가 많고 여유가 있습니다.

계정 만들기



AWS 계정 생성 흐름
간단해 보인다.

확장 가능한 웹 사이트 구축 방법 : 1 단계 단일 서버 구성으로 WordPress 환경 구축
스케일러블에는 하지 않기 때문에 서브넷의 설정등은 필요 없지만, 특별히 생각하지 않고 튜토리얼대로 진행한다.
견본의 화면과 실제의 화면이 곳은 다르지만, 큰 문제는 아니다.
너무 쉽습니다.

워드프레스로 빠지다



무사히 인스턴스가 시작되었습니다. 단계 1-5 에서 WordPress 작업을 시작하지만 로그인할 수 없습니다.

데이터베이스의 암호 ... 있었습니까? 그런거야.
설명에는 이렇게 쓰여 있다.

작성한 MySQL 의 DB 설정에 근거해, 설정합니다.
1. admin을 입력합니다.
2. 지정한 DB 연결 암호(wordpress)를 입력합니다.
3. 제출을 클릭합니다.

공란이라든지 콘솔·로그인 패스워드 등 여러가지 시도했지만 통과하지 않는다.

WordPress 웹사이트 시작
AWS Management Console->EC2->Instance->Action->Instance 설정->시스템 로그 검색에서 암호를 찾았지만 찾지 못했습니다.
30분 정도 조사해 wp-config.php를 이지하는 방침으로 변경.

SSH로 빠지다



teraterm으로 로그인합니다. 개인 키 파일 ec2handson.pem이 있었기 때문에 root 로그인 할 수 있다고 생각했지만 로그인 할 수 없습니다.
예상되는 사용자 이름을 몇 가지 시도했지만 통과하지 못했습니다. 나제다···?
여러 번 시도하고 뭔가 메시지가 나오는 것을 깨달았다.
Please login as the user "ec2-user" rather than the user "root".

응? ec2-user···뭐야 그것은?
잘 보면 단계 4-1 에 썼다.


사용자 이름: ec2-user



무사히 SSH에 로그인할 수 있었다.
EC2 Linux 인스턴스의 루트 암호를 설정하거나 변경하려면 어떻게 해야 합니까?
root 권한으로 작업하는 것은 사도라고 들은 적이 있다. 하지만.
Amazon Linux는 잘 모르기 때문에 탐구.
httpd.conf의 위치를 ​​찾습니다.
# find / -name httpd.conf
/etc/httpd/conf/httpd.conf

DocumentRoot의 위치를 ​​찾습니다.
# grep DocumentRoot /etc/httpd/conf/httpd.conf
DocumentRoot "/var/www/html"

CentOS에 가까운 느낌. WordPress의 모습을 조사한다.
# ll /var/www/html
total 220
-rwxrwxrwx  1 apache apache   420 Feb  2 12:13 index.php
-rwxrwxrwx  1 apache apache 19935 Feb  2 13:30 license.txt
-rwxrwxrwx  1 apache apache 10180 Feb  2 13:30 readme.html
-rwxrwxrwx  1 apache apache  6939 Feb  2 13:30 wp-activate.php
drwxrwxrwx  9 apache apache  4096 Feb  2 13:30 wp-admin
(略)

어라. wp-config.php가 없다. 즉 설치가 끝나지 않았다.
라는 것은 디폴트의 패스워드가 어딘가에 쓰고 있는 것은 아닌가?
···하!


아파치에서 빠져



무사히 WordPress에 로그인할 수 있었다. 업데이트를 걸면 PHP5.5가 오래된 것으로 지적되었다.
리포지토리에 php7.3이 있는지 확인.
# yum list | grep php73
php73.x86_64             7.3.11-1.21.amzn1          @amzn-updates
php73-cli.x86_64         7.3.11-1.21.amzn1          @amzn-updates
php73-common.x86_64      7.3.11-1.21.amzn1          @amzn-updates
php73-fpm.x86_64         7.3.11-1.21.amzn1          @amzn-updates

있을 것 같다. 우선은 아파치를 멈춘다.
# service httpd stop
Stopping httpd:                             [FAILED]

응? 멈추지 않는다. 이미 멈추고 있습니까?
# service httpd start
Starting httpd: (98)Address already in use: AH00072: make_sock: could not bind to address [::]:80
(98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
AH00015: Unable to open logs                       [FAILED]

Apache는 멈추고 있지만 무언가의 프로세스가 port80을 사용하고 있습니다. 뭐야?
프로세스 번호를 조사하고 kill 해 보자.
# lsof -i | grep http
nginx   2811   root  6u  IPv4  11918   0t0  TCP *:http (LISTEN)
nginx   2811   root  7u  IPv6  11919   0t0  TCP *:http (LISTEN)
nginx   2814  nginx  6u  IPv4  11918   0t0  TCP *:http (LISTEN)
nginx   2814  nginx  7u  IPv6  11919   0t0  TCP *:http (LISTEN)


nginx입니다 이것!

해결



nginx라고 알면 나머지는 편할 것이다.
최신 WordPress용 PHP 버전 업그레이드
AWS EC2 + CentOS 7.6 + Apache 2.4 + PHP 7.3 + MySQL 8.0에서 WordPress5.1 실행
# service nginx stop
# service php-fpm stop
# yum remove php*
# yum remove httpd*
# yum clean all
# yum install php73 php73-cli php73-common php73-fpm php73-imap php73-json php73-mbstring php73-mysqlnd php73-opcache php73-pdo php73-process php73-xml
# vi /etc/php-fpm-7.3.d/www.conf
user = apache
group = apache
listen = 127.0.0.1:9000
# service php-fpm start
# service nginx start

PHP7.3이 되었지만 WordPress 업데이트에서 오류가 발생했습니다.
WordPress 업데이트 시 FTP 정보 입력 화면이 표시되는 경우 3가지 해결 방법
소유자를 변경하여 해결.
# chown -R apache:apache /var/www/html/


축하해요😇

요약


  • AWS는 누구나 쉽게 WordPress를 설치할 수 있습니다
  • 사용자 이름은 ec2-user
  • 기본 암호는 설명서에 기록되어 있습니다.
  • httpd는 nginx
  • 좋은 웹페이지 즐겨찾기