杂货铺

差强人意

杂而不全

小白建站 (wordpress 6.1、caddy2 、ubuntu20.04)

作为一个自己建站玩儿的行外人,想弄一个小白建站系列,记录自己如何从一个一窍不通的行外人,成为一个能够磕磕绊绊完成独立建站的几乎一窍不通的行外人的。

这些是我熟悉了一些vps的基本操作后,在vps上建站的步骤及参考和使用的一些文章,存档并供参考。

建站步骤

前置条件:有域名或会购买域名,会购买vps,会一点ssh,会一点linux命令

 1. 防火墙设置
 2. caddy安装
 3. PHP安装
 4. MariaDB安装
 5. MariaDB设置
 6. 安装wordpress
 7. caddy设置
 8. PHP设置
 9. wordpress设置

综合参考

来源:www.howtoforge.com
文章:How to Install and Configure Caddy Web Server with PHP and MariaDB on Ubuntu 20.04
链接:https://www.howtoforge.com/tutorial/ubuntu-caddy-web-server-installation/
说明:主要参考本文的建站步骤、防火墙操作、PHP安装、Mariadb设置、caddy设置、PHP设置。本文中的caddy安装

1. 防火墙设置

sudo ufw allow http
sudo ufw allow https
sudo ufw reload

2. caddy安装

sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy

来源:caddy官网 https://caddyserver.com/
文章: Install
链接:https://caddyserver.com/docs/install
说明:caddy安装按照官网说明进行

3. PHP安装

针对ubuntu 20.04版本,以后版本可能也适用。20.04版本的php版本是7.4。

 sudo apt update
 sudo apt install php-cli php-fpm php-mysql php-bcmath php-curl php-imagick php-intl php-json php-mbstring php-xml php-zip

4. MariaDB安装

Mariadb是保存网站数据的数据库,是Mysql的开源分支,ubuntu默认自带10.3版本。

sudo apt update
sudo apt install mariadb-server

5. MariaDB设置

5.1 MariaDB安全设置

安装完成后进行mariadb设置:

sudo mysql_secure_installation

然后会提示你输入root密码:
Enter current password for root (enter for none):
直接回车,然后被提示:
set root password? [y/n]
根据需要进行设定
然后可根据需要完成以下设置:

Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

5.2 MariaDB 数据库设置

sudo mysql

如需要,输入root账户密码,然后进入Mariadb的命令行,请注意每条命令后的’;’必不可少。

CREATE DATABASE testdb;
CREATE USER 'user' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON testdb.* TO 'user';
exit

其中testdb是用来存储网站内容的数据库名称,user和password是登录数据库的用户名和密码,最后是把testdb的所有权限授权给user并退出。

6. 安装wordpress

创建放置网站文件的基本文件夹:

 sudo mkdir -p /var/www/example.com

创建用于存储log的文件夹

 sudo mkdir /var/log/caddy

在安装caddy时,caddy创建了一个用户名为caddy,属于caddy组的用户,把两个文件夹的权限赋予该用户:

sudo chown -R caddy:caddy /var/log/caddy
sudo chown -R caddy:caddy /var/www/example.com

不知道是不是以上两个授权都必须,这么弄没出问题。

进入拟安装的目录

cd /var/www/example.com/

下载wordpress最新文件

sudo wget https://wordpress.org/latest.tar.gz

如果用中文版

sudo wget https://cn.wordpress.org/latest-zh_CN.tar.gz

解压缩

tar -xzvf latest.tar.gz

tar -xzvf latest-zh_CN.tar.gz

进入wordpress文件夹并设置wordpress

cd wordpress/
cp wp-config-sample.php wp-config.php
vi wp-config.php

然后可以看到:

// ** Database settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'database_name_here' );

/** Database username */
define( 'DB_USER', 'username_here' );

/** Database password */
define( 'DB_PASSWORD', 'password_here' );

/** Database hostname */
define( 'DB_HOST', 'localhost' );

/** Database charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );

/** The database collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );

修改database_name_here为设置的数据库名称;
修改username_here为上述数据库的用户名;
修改password_here为上述数据库用户的密码。

7. 设置caddy

编辑Caddyfile

vi /etc/caddy/Caddyfile

然后把以下内容写入到Caddyfile中

example.com  {
# root后是wp-config所在目录
root * /var/www/example.com/wordpress
    log {
        output file /var/log/caddy/example.com.access.log {
        roll_size 10MiB
        roll_keep 1000
        roll_keep_for 168h
        }
    }
file_server
encode gzip
php_fastcgi unix//run/php/php7.4-fpm.sock
    tls {
    protocols tls1.2 tls1.3
    }
}

设置caddy服务

systemctl enable caddy

8. PHP设置

首先打开www.conf文件

sudo vi /etc/php/7.4/fpm/pool.d/www.conf

然后找到user=www-date、group=www-data、listen.owner=www-data、listen.group=www-data,并将所有的=后改为caddy,如下所示:

...
; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
; will be used.
; RPM: apache user chosen to provide access to the same directories as httpd
user = caddy
; RPM: Keep a group allowed to write in log dir.
group = caddy
...

listen.owner=caddy
listen.group=caddy

然后重启php服务

sudo systemctl restart php7.4-fpm

9. wordpress设置

首先,来一个reboot大法(正常网站没有这么干的-_-),用ssh重启vps。

reboot

然后参考wordpress官网去设置吧,手里的vps设置好了,没办法完全验证了。

就这样吧!


已发布

分类

作者:

标签

评论

《“小白建站 (wordpress 6.1、caddy2 、ubuntu20.04)”》 有 1 条评论

  1. 717 的头像

    Niice post. I waas checking continuously this blog and I am impressed!
    Veryy usefuhl information particularly the last paqrt 🙂 I
    care for suchh info a lot. I was lokoking for this certain information forr a
    very lomg time. Thank you and good luck.

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注