** script를 사용해 Instance로 wordpress 올리기 **
- Instance 생성할 때
- Script를 shell 파일로 만들어 Browse를 이용해 파일을 올릴 수 있다.
- Customization Script -> 직접 작성도 가능하다.
* Instance 생성하기 참고
2020/07/02 - [Infra/프라이빗 클라우드 인프라] - Open Stack 운영.3 (user)
▶ Script 작성하기
#!/bin/sh
yum -y install http://ftp.riken.jp/Linux/remi/enterprise/remi-release-7.rpm
yum-config-manager --disable remi-safe
yum-config-manager --enable remi-php74
cat << EOF >> /etc/yum.repos.d/mariadb.repo
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.5/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
EOF
yum-config-manager --enable mariadb
yum install -y httpd php php-mysqlnd MariaDB-server MariaDB-client
systemctl start mariadb
mysql -u root -e 'CREATE DATABASE wordpress_db'
mysql -u root -e "CREATE USER 'wp-admin'@'localhost' IDENTIFIED BY 'dkagh1.'"
mysql -u root -e "GRANT ALL PRIVILEGES ON wordpress_db.* to 'wp-admin'@'localhost' IDENTIFIED BY 'dkagh1.'"
mysql -u root -e "FLUSH PRIVILEGES"
curl -o latest.tar.gz https://wordpress.org/latest.tar.gz
tar zxf latest.tar.gz
cp -r wordpress/* /var/www/html
setfacl -Rm u:apache:rwX /var/www/html
cp /var/www/html/wordpress/wp-config-sample.php /var/www/html/wordpress/wp-config.php
sed -i '23s/database_name_here/wordpress_db/g' wp-config.php
sed -i '26s/username_here/wp-admin/g' wp-config.php
sed -i '29s/password_here/dkagh1./g' wp-config.php
systemctl start httpd
systemctl enable httpd
-
#!/bin/sh
-
#! → 스크립트를 실행할 쉘을 지정하는 선언문
-
/bin/sh → dash 쉘에 링크를 걸어두고 있다.
-
-
php
yum -y install http://ftp.riken.jp/Linux/remi/enterprise/remi-release-7.rpm
yum-config-manager --disable remi-safe
yum-config-manager --enable remi-php74
yum install -y php php-mysqlnd
- yum repolist와 yum list는 repo패키지가 있는지 확인할 때 사용.
- yum-config-manager을 사용하여 remi-safe를 disabled 시킨다. → 사용하지 않기 때문
- 반대로 remi-php74는 사용할것이기 때문에 enable(활성화)시킨다.
- php v7.4는 이전 버전과 차이를 주기위해 데몬이 php-mysqlnd이다.
-
mariadb
cat << EOF >> /etc/yum.repos.d/mariadb.repo
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.5/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
EOF
yum-config-manager --enable mariadb
yum install -y MariaDB-server MariaDB-client
systemctl start mariadb
mysql -u root -e 'CREATE DATABASE wordpress_db'
mysql -u root -e "CREATE USER 'wp-admin'@'localhost' IDENTIFIED BY 'dkagh1.'"
mysql -u root -e "GRANT ALL PRIVILEGES ON wordpress_db.* to 'wp-admin'@'localhost' IDENTIFIED BY 'dkagh1.'"
mysql -u root -e "FLUSH PRIVILEGES"
- 참고 https://downloads.mariadb.org/mariadb/repositories/#mirror=harukasan
- cat << EOF >> a.txt → a.txt파일에 쉽게 내용을 입력할 수 있다. EOF를 입력하면 입력 종료.
- cat 명령어로 mariadb.repo파일을 설정해주었다.
- mysql → -e 명령어를 사용하여 mysql에 들어가지않고 해당 명령어를 실행시킨다.
-
wordpress
curl -o latest.tar.gz https://wordpress.org/latest.tar.gz
tar zxf latest.tar.gz
cp -r wordpress/* /var/www/html
setfacl -Rm u:apache:rwX /var/www/html
cp /var/www/html/wordpress/wp-config-sample.php /var/www/html/wordpress/wp-config.php
sed -i '23s/database_name_here/wordpress_db/g' wp-config.php
sed -i '26s/username_here/wp-admin/g' wp-config.php
sed -i '29s/password_here/dkagh1./g' wp-config.php
- cloud-init은 cd등의 명령어를 실행하지 못한다. → 위치를 항상 유의해야한다.
- wp-config.php파일이 초반에는 없으므로 wp-config-sample.php파일을 복사해줘야한다.
- sed 명령어로 vi 편집기에 들어가지 않고 파일의 내용을 편집할 수 있다.
- sed -i 's/database_name_here/wordpress_db/' hosts → 제일 처음의 값만 바꾼다.
- sed -i 's/database_name_here/wordpress_db/g' hosts → g → 파일 전체
- sed -i '23s/database_name_here/wordpress_db/g' hosts → 전체에서 23번째 줄의 내용을 바꾼다.
※주의 사항
- mariadb script 작성 시 대문자 소문자 구별
- 오류 -> 로그를 확인했을 때 yum이 안되는거 같다
- /etc/resolv.conf 파일에 nameserver 8.8.8.8 추가
- 혹은 내부 network의 subnet 설정 -> DNS nameserver 8.8.8.8 추가
'Infra > 프라이빗 클라우드 인프라' 카테고리의 다른 글
Image 생성 (Snapshot) (0) | 2020.07.07 |
---|---|
Open Stack - Heat (wordpress) (0) | 2020.07.02 |
Open Stack 운영.3 (user) (0) | 2020.07.02 |
Open Stack 운영.2(user) (0) | 2020.07.01 |
Instance (0) | 2020.07.01 |
댓글