1. 방화벽 오픈
포트확인
- 현재 실행 중인 서비스와 그 서비스가 사용하는 포트 확인: 이 경우에는 netstat -tunlp 명령어를 사용합니다. 이 명령어는 현재 시스템에서 실행 중인 네트워크 서비스와 해당 서비스가 사용하는 포트를 보여줍니다.
- -t - TCP 포트를 표시합니다.
-u - UDP 포트를 표시합니다.
-n - 호스트를 확인하는 대신 숫자 주소를 표시합니다.
-l - 수신 포트만 표시합니다. - 특정 포트가 열려 있는지 확인: 이 경우에는 sudo ufw status 명령어를 사용합니다. 이 명령어는 UFW(Uncomplicated Firewall)에서 설정한 포트 개방 규칙을 보여줍니다. 이 명령어를 통해 특정 포트가 열려 있는지 확인할 수 있습니다.
[ 확인 ]
sudo ufw enable
sudo ufw status
[ 방화벽오픈 ]
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 3306/tcp
2. 도커설치
- 도커가 설치됐는지 확인 sudo apt-get remove docker docker-engine docker.io containerd runc
- Docker를 설치하기 위해 필요한 패키지들을 설치하세요. sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common - Docker의 GPG 키를 추가하세요. curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
- Docker 저장소를 추가하세요. sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
- 이제 Docker를 설치하세요. sudo apt-get update
sudo apt-get install docker-ce - Docker가 정상적으로 설치되었는지 확인하려면 다음 명령어를 입력해주세요. sudo docker run hello-world
- Docker 자동 실행 설정: Docker는 기본적으로 시스템 부팅 시 자동으로 시작되도록 설정되어 있습니다. 그러나 이 설정이 제대로 동작하지 않는다면, 다음 명령어로 Docker가 부팅 시 자동으로 시작되도록 설정할 수 있습니다. sudo systemctl enable docker
3. 마리아DB설치
- 도커실행시 컨테이너 자동실행
- 외부포트와 바인딩완료 3306
- 볼륨설정을 외부로 빼서 영구적으로 사용가능하게 도커나 컨테이너 재설치시에도 사라지지 않도록
sudo docker run --name=mariadb --restart=always -p 3306:3306 -v /your/volume/path:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=pwd007 -e MYSQL_DATABASE=alphonse -e MYSQL_USER=alphonse -e MYSQL_PASSWORD=pwd007 -d mariadb
4. 마리아DB에서 사용할 데이터베이스를 생성후 권한설정
- 마리아db클라이언트 설치 sudo apt-get update
sudo apt-get install mariadb-client - 마리아db도커 컨테이너 상태확인 sudo docker ps
- 마리아db 명령어를 입력하기 위해 마리아db쉘에 접속 mysql -h 127.0.0.1 -P 3306 -u root -p
- 사용자 생성 - 도커생성시 이미 alphonse사용자가 생성되어있고 database도 alphonse라는 이름으로 이미생성됨
- 슈퍼권한 부여 root와 동일함 GRANT ALL PRIVILEGES ON *.* TO 'alphonse'@'%' IDENTIFIED BY 'pwd007';
FLUSH PRIVILEGES;
5. NGINX설치
- Nginx 설치: Nginx는 웹 서버로서, 웹 브라우저의 요청을 받아 정적 파일을 제공하거나 다른 서버로 요청을 전달하는 역할을 합니다. sudo apt update
sudo apt install nginx - Nginx가 제대로 설치되었는지 확인하기 위해, 아래의 명령을 실행합니다:
Nginx가 제대로 작동하고 있다면, "active (running)" 상태가 출력됩니다.
systemctl status nginx - 이제 외부에서 Nginx에 접속할 수 있는지 확인해 봅시다.
웹 브라우저를 열고 http://your_server_ip (서버의 IP 주소)로 접속해 보세요.
Nginx의 기본 화면이 표시되면 성공적으로 설치된 것입니다.
만약 방화벽이 활성화되어 있다면, Nginx를 허용하는 규칙을 추가해야 합니다: sudo ufw allow 'Nginx HTTP' - Nginx가 정상적으로 작동하고 있는지 확인하기 위해 설정 파일에 문제가 없는지 확인하는 것이 좋습니다. 다음 명령어를 통해 Nginx 설정 파일의 문법을 확인할 수 있습니다: sudo nginx -t
- http://아이피 접속이 안되면 우분투를 재시작 해봅니다. sudo shutdown -r now 끝나고 r키
- Welcome to nginx!가 나오면 NGINX성공
6. PHP설치하기
아파치와 Nginx는 둘 다 웹 서버이기 때문에 이 두 웹 서버는 같은 역할을 하므로 둘 다 설치할 필요는 없습니다. 여기서는 이미 Nginx를 설치완료 했습니다.
- PHP 설치: 아래의 명령어를 사용하여 PHP를 설치합니다. sudo apt-get update
sudo apt-get install php-fpm php-mysql - 먼저 설치된 php버전을 확인합니다. php -v
- PHP 설정: Nginx가 PHP를 처리할 수 있도록 PHP 설정을 변경합니다. 버전은 7.2로 확인되었습니다. sudo nano /etc/php/7.2/fpm/php.ini 파일을 열고 아래의 항목을 찾아 변경합니다.
[ php.ini ] 을 열어서 1을 0으로 변경해줍니다.
[ nano ]
- Ctrl + Q : 뒤로 검색
Ctrl + W : 앞으로 검색
Alt + Q : 이전 검색
Alt + W : 다음 검색 - 저장 : Ctrl + O를 누르면 "File Name to Write"라는 메시지와 함께 현재 파일 이름이 표시됩니다.
이미 파일 이름이 정해져 있고 그대로 저장하려면 Enter 키를 누르면 됩니다.
만약 다른 이름으로 저장하려면 새로운 파일 이름을 입력하고 Enter 키를 누르면 됩니다. - 종료 : 저장 후에는 Ctrl + X를 눌러 Nano 에디터를 종료할 수 있습니다
(변경전) cgi.discard_path=1 (변경후) cgi.discard_path=0
- 그리고 PHP 프로세스 관리자(php-fpm)를 재시작합니다: sudo systemctl restart php7.2-fpm
- Nginx 설정: Nginx가 PHP 파일을 처리할 수 있도록 설정을 변경합니다. sudo vi /etc/nginx/sites-available/default 파일을 열고 아래의 내용을 추가합니다: 주의 할점은 기존에 있던 location / {... } 부분을 유지하고 아래내용을 추가로 입력합니다.
- location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php<version>-fpm.sock;
} - 그리고 Nginx를 재시작합니다: sudo systemctl restart nginx
6. Nginx에 PHP잘 연결되는지 확인
html폴더 위치로 이동해서 vi명령으로 php파일을 작성한다.
vi /var/www/html위치로 이동후 파일을 만들지 안아도 vi로 열고 저장하면 파일이 생성됩니다.
- i 입력모드
- :wq 저장하고 나가기
- :q! 종료하고 나가기
sudo vi /var/www/html/info.php
[ info.php 파일 내용 ]
<?php
phpinfo();
?>
http://ip주소/info.php 접속해보고 접속이 안된다면 재부팅 해봅니다.
접속이 잘 되면 재부팅을 할필요는 없겠지요.
sudo reboot
[ info.php 파일 삭제 ]
테스트가 끝났으니 info.php 파일은 서버의 PHP 설정 정보를 보여주기 때문에 보안상의 이유로 일반적으로는 삭제하는 것이 좋습니다.
리눅스에서 파일을 삭제하기 위해 rm 명령어를 사용하실 수 있습니다. 다음과 같이 입력해주세요:
sudo rm /var/www/html/info.php
7. 워드프레스 설치
WordPress를 설치하기 위한 기본적인 단계는 다음과 같습니다:
- WordPress 패키지 다운로드
- 압축 해제 및 파일 이동
- WordPress 데이터베이스 및 사용자 생성
- WordPress 설정 파일 수정
- 웹 브라우저를 통한 WordPress 설치
- 이제 각 단계별로 진행해봅시다.
[ 설치시작 ]
- WordPress 패키지 다운로드
아래의 명령어를 사용하여 최신 WordPress 패키지를 다운로드 받을 수 있습니다. 붙여넣을때 링크가 있으면 뒤에 이상한 문자가 붙어서 안되는 경우가 있으니 주의 하자.
wget https://wordpress.org/latest.tar.gz
- 압축 해제 및 파일 이동
다운로드 받은 파일을 압축 해제하고, 알맞은 디렉토리로 이동시킵니다.
tar xvf latest.tar.gz
sudo mv wordpress /var/www/html/ - WordPress 데이터베이스 및 사용자 생성
다음으로, WordPress를 위한 데이터베이스와 사용자를 생성합니다. 마리아DB에 로그인하여 아래의 명령어를 실행합니다. 이미 생성되어 있다면 생략
위 명령어에서 'wordpressuser'와 'password'는 원하는 사용자 이름과 비밀번호로 변경하시면 됩니다.
1. 원드프레스 접속
관리자화면접속 : http://yourIp/wordpress/wp-admin/
메인화면접속 : http://yourIp/wordpress
# 시작
sudo systemctl start nginx
# 종료
sudo systemctl stop nginx
# 재시작
sudo systemctl restart nginx
# 리로드 (변경된 설정을 적용하는 경우 사용. 기존 연결을 끊지 않음.)
sudo systemctl reload nginx
# 기본적으로 서버 시작 시 nginx가 자동으로 실행되는데, 이를 막고 싶은 경우
sudo systemctl disable nginx
# 서버 시작 시 자동으로 nginx를 실행하고 싶은 경우
sudo systemctl enable nginx
'Linux' 카테고리의 다른 글
우분투 리눅스 nigex에 워드프레스 설치하기 (3) | 2023.11.26 |
---|---|
NGINX에서 워드프레스 root경로 변경하기 (4) | 2023.11.26 |
우분투 리눅스에서 vi나 nano대신 VS코드(VsCode)설치하고 사용하기 (3) | 2023.11.26 |
OCI 02. 오라클클라우드 oci환경에서 docker올리고 마리아db설치 (3) | 2023.11.13 |
OCI 01. 오라클클라우드 oci환경에서 docker올리고 마리아db설치 (1) | 2023.11.13 |