Infra/리눅스

OpenStack에 Wordpress 구축하기

서머스 2022. 5. 9. 11:21

가상 네트워크
가상 랜카드(br-ex)가 실제 랜카드(ens160)가 가지고 있는 ip를 빼앗는다
실제 랜카드는 전기적 신호만 주고받는다.

 

네트워크 > 네트워크 토폴로지

 

<인스턴스 만들기>

우분투 설치하기

 

Compute > 이미지 로 간다.

 

우측 상단에 [이미지 생성]을 클릭한다.

 

<WEB01에서 Wordpress 설치하기>

 

 

오브젝트 스토리지 > 컨테이너 로 들어간다.

 

컨테이너가 만들어진 모습

[+폴더]를 클릭한뒤 images라는 폴더를 추가한다.

 

images를 클릭한 뒤, [+폴더] 좌측의 업로드 버튼을 눌러 이미지를 업로드한다

 

 

그 다음 index.html파일을 업로드한다.

 

 

https://ko.wordpress.org/download/

 

Download

Download WordPress today, and get started on creating your website with one of the most powerful, popular, and customizable platforms in the world.

ko.wordpress.org

 

 

 

 

 

 

 

 

 

 

 

워드프레스 설치(WEBSERVER-CentOS7)
# yum -y install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
# yum -y install epel-release yum-utils
# yum-config-manager --enable remi-php74
# yum install -y httpd php php-mysql php-gd php-mbstring wget unzip
# cd /var/www/html
# unzip /root/share/wordpress-5.9.3-ko_KR.zip
# mv wordpress/* .
# chown -R apache:apache /var/www/*
# systemctl restart httpd
# php -v

 

 

Compute> 인스턴스

상단의 인스턴스 시작 버튼을 누른다.

 

 

 

 

 

볼륨 > 볼륨

볼륨 생성 버튼을 누른다.

 

이를 WEB01에 붙여 용량을 확보한다.

 

방금 만든 WEB01-ADD에서 [볼륨 연결 관리]를 클릭한다.

 

볼륨 추가 명령어를 통해 마운트를 해야 한다.

1GB가 추가된 모습

 

[centos@web01centos7 ~]$ sudo mkfs -t ext4 /dev/vdb

(포맷하는것)
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376

Allocating group tables: done
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

[centos@web01centos7 ~]$ sudo mount /dev/vdb /mnt/
[centos@web01centos7 ~]$ df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        472M     0  472M   0% /dev
tmpfs           496M     0  496M   0% /dev/shm
tmpfs           496M   13M  483M   3% /run
tmpfs           496M     0  496M   0% /sys/fs/cgroup
/dev/vda1        10G  1.2G  8.9G  12% /
tmpfs           100M     0  100M   0% /run/user/1000
/dev/vdb        976M  2.6M  907M   1% /mnt
[centos@web01centos7 ~]$ sudo vi /mnt/test.txt

 

 

 

 

 

Compute > 인스턴스

유동 IP 연결 클릭

systemctl restart named를 해야함

 

 

 

<CentOS에서 붙인 용량 떼고 Ubuntu에 붙이기>

 

[centos@web01centos7 ~]$ sudo umount /mnt

 

 

볼륨 > 볼륨

볼륨 연결 관리 클릭

볼륨 연결 해제 클릭

다시 볼륨 연결 관리를 클릭한다.

 

 

 

볼륨을 확장할 수 있다(Scale Up)

 수직적 확장 = Scale Up

늘어난 용량은 줄어들지 않는다.

 

$ sudo apt install -y php7.2 php7.2-mysql php7.2-mbstring php7.2-gd php7.2-fpm wget unzip
$ sudo mkdir -p /var/www/html/wordpress/public_html
$ cd /etc/nginx/sites-available
$ sudo vi wordpress.conf
server {
            listen 80;
            root /var/www/html/wordpress/public_html;
            index index.php index.html;
            server_name www.mz29.shopl\;

    access_log /var/log/nginx/SUBDOMAIN.access.log;
         error_log /var/log/nginx/SUBDOMAIN.error.log;

            location / {
                         try_files $uri $uri/ =404;
            }

            location ~ \.php$ {
                         include snippets/fastcgi-php.conf;
                         fastcgi_pass unix:/run/php/php7.2-fpm.sock;
            }
            
            location ~ /\.ht {
                         deny all;
            }

            location = /favicon.ico {
                         log_not_found off;
                         access_log off;
            }

            location = /robots.txt {
                         allow all;
                         log_not_found off;
                         access_log off;
           }
       
            location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
                         expires max;
                         log_not_found off;
           }
}

 

$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

잘 작동되는 것을 확인할 수 있다.

 

 16  cd /etc/nginx/sites-enabled/
   17  sudo ln -s ../sites-available/wordpress.conf .
   18  sudo systemctl reload nginx
   19  cd /var/www/html/wordpress/public_html/
   20  sudo unzip /mnt/wordpress-5.9.3-ko_KR.zip
   21  ls
   22  cd wordpress/
   23  ls
   24  cd ..
   25  sudo mv wordpress/* .
   26  ls
   27  sudo chown -R www-data:www-data *
   28  sudo chmod 755 *

 

 

네트워크 > 보안 그룹 에 들어간다.

보안 그룹 생성을 클릭한다.

 

규칙 추가를 클릭한다.

 

 

 

 

 

 

 

Compute > 인스턴스 에 들어가서 

새로운 인스턴스를 만들어 줘야 하는데

용량이 부족해서 실패했다.

 

 

 

flavor > floavor

 

결국 안돼서 지움

 

 기존의 인스턴스들의 크기를 miro->nano로 변경하여 용량 추가를 용이하게 했다.

 

둘다 변경한다.

 

 

volume > volume > 볼륨 확장

 

L1이 오류가 나서 삭제

 

WEB01 -> WORDPRESS 로 인스턴스 이름 변경

 

Openstack 서버로 접속

 

인스턴스 > 인스턴스

 

web02이름도 바꾼다

 

계속해서 [포트 보안 그룹 편집] 클릭

 

 

SG-WEB을 -해서 왼쪽으로 옮기고, SG-DB를 +버튼 눌러 오른쪽으로 옮긴다.

 

 

두 개 다 체크표시 한 뒤 기타작업>인스턴스 시작 을 누른다.

 

 

콘솔 버튼을 눌러 상태를 확인할 수 있다.

 

 

 

 

 

 

일반 사용자의 프로젝트를 만든다.

 

인증 > 프로젝트 > 프로젝트 생성

 

 

인증 > 사용자

로 가서 [사용자 생성] 을 클릭한다.

 

 

 

이 유저를 firefox에서 접속해본다

 

 

프로젝트 > 네트워크 >네트워크 로 들어간다

 

[네트워크 생성]을 클릭한다.

 

인터페이스 탭으로 들어가서 인터페이스 추가를 클릭한다.

 

web-user의 계정으로는 EXTERNAL IP를 확인할 수 없다

 

 

admin계정에서 ip를 확인해본 뒤 ping을 쳐볼 수 있다.

 

 

 

[프로젝트에 IP 할당]을 세 번 눌러 floating IP 3개를 생성한다

네트워크>SG-WEB을 만든다

 

 

SG-WEB에서 [규칙 추가]를 눌러 HTTP, SSH, ALL ICMP를 추가한다.

 

Compute > 키 페어

로 들어가서 키 페어 생성을 클릭한다.

 

여기서 Image에 사진을 넣게 되면 admin의 계정과 중복되게 된다.

 

 

 이미지 공유에 들어가서 CentOS7과 Ubuntu를 공유 -> 공용 으로 바꾼다.

잠시 시간이 지난 뒤 파이어폭스의 web-user에서 이미지를 들어가보면 좀전에 보이지 않았던 CentOS7과 Ubuntu18이 보이는 것을 확인할 수 있다.

 

 

Compute > 인스턴스 로 들어가서 인스턴스를 생성한다.

 

 

그 다음 Ubuntu 인스턴스를 만들어 준다.

 

WEBSERVER와 DBSERVER에 유동 IP 연결한다.

 

네트워크 > 보안 그룹 에서 보안 그룹을 추가한다

 

 

[규칙 추가]를 눌러 SSH, MYSQL, ALL ICMAP를 추가한다.

 

Compute > 인스턴스

DBSERVER의 보안 그룹을 편집한다.

 

 

WEBSERVER의 floating IP를 추가한다.

 

ping blog.mz29.shop (IP를 바꿀력 했는데 안됨 ㄱ-

 

 blog.mz29.shop에 접속