![](https://advercoder.com/wp-content/uploads/2023/08/gnyng_A_laptop_in_front_of_a_digital_nomad_a_table_in_front_of_5be719de-e9bb-4cee-9b19-9209560604c8-1024x574.png)
업데이트 및 php 설치
sudo apt update
sudo apt upgrade
sudo dpkg-reconfigure tzdata
sudo apt install nginx
sudo service nginx start
sudo apt-cache policy php
sudo apt install php7.4-fpm
sudo apt install php7.4-cli php7.4-curl php7.4-gd php7.4-mysql php7.4-mbstring php7.4-xml zip unzip
sudo service php7.4-fpm start
Asia/Seoul 설정하기 (컨트롤-w로 창이 꺼진다고 하니 F6으로 검색하세요 . timezone검색)
sudo nano /etc/php/7.4/fpm/php.ini
sudo nano /etc/php/7.4/cli/php.ini
둘다 똑같이 설정해야 함.
마리아 DB설치
sudo apt-get install apt-transport-https curl
sudo mkdir -p /etc/apt/keyrings
sudo curl -o /etc/apt/keyrings/mariadb-keyring.pgp 'https://mariadb.org/mariadb_release_signing_key.pgp'
sudo apt-get update
sudo apt-get install mariadb-server
환경 파일 만들기
sudo nano /etc/mysql/conf.d/mariadb.cnf
위에 에디터 열리면 아래 내용 붙여 넣기
[client]
default-character-set = utf8mb4
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
character_set_server = utf8mb4
collation_server = utf8mb4_unicode_ci
sudo shutdown -r now
재부팅 되면 터미널 다시 접속
마리아 DB 설정 및 데이터베이스 관련
sudo mysql
SHOW DATABASES;
CREATE USER admin@localhost;
SET PASSWORD FOR admin@localhost = PASSWORD("advercoder");
CREATE DATABASE blog1;
GRANT ALL PRIVILEGES ON blog1.* TO admin@localhost IDENTIFIED BY 'advercoder';
FLUSH PRIVILEGES;
exit;
워드프레스 설치
wget -O ~/wp.zip https://ko.wordpress.org/latest-ko_KR.zip
unzip ~/wp.zip -d ~
sudo mkdir /var/www/blog1
sudo cp -a ~/wordpress/. /var/www/blog1
cd /var/www/blog1/wp-content
mkdir upgrade
mkdir uploads
mkdir temp
sudo chown -R www-data:ubuntu /var/www/blog1
sudo find /var/www/blog1 -type d -exec chmod g+s {} \;
sudo chmod -R 775 /var/www/blog1
위는 한줄씩 복사해서 붙여 넣어야 하며, 혹시 나중에 권한으로 인한 쓰기 오류가 나면 한번씩 더 실행하길 바랍니다.
워드프레스 설정
cd /var/www/blog1
cp -p wp-config-sample.php wp-config.php
sudo nano wp-config.php
define('DB_NAME', 'DB이름');
define('DB_USER', 'DB사용자이름');
define('DB_PASSWORD', 'DB사용자의 비번');
동영상대로 위 내용 수정.
https://api.wordpress.org/secret-key/1.1/salt/
위 사이트 클릭하면 랜덤키가 생성 됩니다. 기존꺼 지우고 복사하기.
define('WP_TEMP_DIR', dirname(__FILE__) . '/wp-content/temp');
define('FS_METHOD', 'direct');
맨 아래 위에꺼 넣어주기.
php 설정 수정 (파일 사이즈 메모리 등)
sudo nano /etc/php/7.4/fpm/php.ini
검색할 단어 upload_max_filesize = 64M
검색할 단어 post_max_size = 64M
검색할 단어 memory_limit = 256M
검색할 단어 max_execution_time = 1000
검색할 단어 file_uploads = On
sudo nano /etc/php/7.4/cli/php.ini
위에 2개 다 수정해야 함.
Nginx 설정
sudo nano /etc/nginx/nginx.conf
아래 내용으로 수정하기
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 768;
}
http {
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
types_hash_max_size 2048;
# server_tokens off;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
client_max_body_size 64m;
fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
##
# SSL Settings
##
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;
##
# Logging Settings
##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
##
# Gzip Settings
##
gzip on;
# gzip_vary on;
# gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
##
# Virtual Host Configs
##
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
#mail {
# # See sample authentication script at:
# # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
#
# # auth_http localhost/auth.php;
# # pop3_capabilities "TOP" "USER";
# # imap_capabilities "IMAP4rev1" "UIDPLUS";
#
# server {
# listen localhost:110;
# protocol pop3;
# proxy on;
# }
#
# server {
# listen localhost:143;
# protocol imap;
# proxy on;
# }
#}
sudo service php7.4-fpm restart
sudo service nginx restart
sudo nano /etc/nginx/sites-available/default
advercoder.com 을 자신의 도메인 주소로 변경
server {
root /var/www/blog1;
index index.php index.html index.htm index.nginx-debian.html ;
server_name advercoder.com;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_read_timeout 300;
}
location ~ /\.ht {
deny all;
}
}
server {
listen 80;
listen [::]:80;
server_name www.advercoder.com;
location / {
return 301 http://advercoder.com$request_uri;
}
}
server {
listen 80 default_server;
listen [::]:80 default_server;
}
ssl 보안 인증서 설치하기
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
sudo certbot --nginx
sudo nano /etc/crontab
0 0 1 * * root certbot renew --quiet
sudo certbot renew --dry-run
감사합니다.
덕분에 쉽게 여기까지 왔습니다.
유튜브 영상보면서는 처음보는 것을 전체적인 의미도 알지 못하고 따라하는게 약간 불만족이었는데요. 하다보면서 영상과 블로그를 같이 보면서 어렴풋하게나마 이해하고 잘 따라왔습니다.
감사합니다.
고생하셨습니다. 사실 임시방편으로 아무런 설명이 없어서 따라만 하다 보니 막막하고 답답하셨을텐데, 충분히 성공하실만한 자질을 가지고 계신것 같네요!!
빠르게 바탕을 만들 수 있도록 영상 만들어서 올리겠습니다!
선생님 영상 보고 잘 따라가고 있습니다. 영상 보고 워드프레스 설치, 도메인 연결까지 완료했습니다.
그런데 다음 영상이 올라오기 전에 글 몇 개 작성해보고자 워드프레스 접속하려는데 문제가 생겼습니다.
사이트 제목, 사용자명, 암호 등을 설정하는 워드프레스 초기 설정 페이지까지 접속했다가 아무것도 입력 하지 않고 꺼버렸는데, 그 뒤로 같은 페이지가 안보여서 admin 페이지에 로그인을 못하고 있습니다 ㅠ 혹시 방법이 있을까요? 구글링해도 안보이네요.
감사합니다.