Ubuntu&Debian部署WordPress教程

本教程的相关内容仅作为演示。请根据需要自行修改代码内容。

请先准备好SSH工具,连接到你的服务器。

准备一个域名,如果你没有域名可以点击此处注册

namesilo域名注册优惠码:ZYH8

填写后可以优惠一美元

要在Ubuntu&Debian上部署WordPress并启用HTTPS连接,您需要执行以下步骤:

1.请先升级系统软件包并重启系统。

sudo apt update
sudo apt full-upgrade -y
sudo reboot

2.安装Apache Web服务器:(也可以使用别的,例如:Nginx,如果你使用了其他的Web服务器,请修改相应的配置文件。)

sudo apt update
sudo apt install apache2

3.安装PHP和相关的扩展:

sudo apt install php libapache2-mod-php php-mysql php-gd php-curl php-dom php-imagick php-mbstring php-zip php-intl

4.安装MySQL数据库服务器:

sudo apt install mysql-server

在安装过程中,应该会提示您设置数据库root用户的密码。如果没有提示,请使用下方命令更改密码:

sudo mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password';

请将“new_password”替换为你自己的密码

运行安全安装脚本以设置 MySQL 的安全选项:

sudo mysql_secure_installation

按照提示操作,设置 root 密码并删除匿名用户、不允许远程 root 登录等。

5.创建WordPress数据库和用户:

以下代码需要在mysql数据库终端里执行

CREATE DATABASE wordpress;
CREATE USER 'wordpressuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpressuser'@'localhost';
FLUSH PRIVILEGES;
#退出mysql数据库终端
EXIT;

请将wordpressuser,password替换为你自己的数据库用户名和密码,建议不要和上面root用户的密码相同。

6.下载并配置WordPress:

#定位到此目录
cd /tmp
#下载最新版WordPress到本地
wget https://wordpress.org/latest.tar.gz
#解压缩.tar.gz文件到此目录
tar -zxvf latest.tar.gz
#删除此目录里的所有文件
rm -rf /var/www/html/*
#移动WordPress文件夹到/var/www/html/目录
 sudo mv wordpress /var/www/html/
#查看文件是否移动成功,你应该能看到一个名为wordpress的文件夹
ls
#给/var/www/html/目录设置权限
sudo chown -R www-data:www-data /var/www/html/wordpress
sudo chmod -R 755 /var/www/html/wordpress

如果你的服务器地址是192.168.1.1,那你需要访问https://192.168.1.1/wordpress/才能进入到您的网站,如果你觉得这样很麻烦,你可以自己设置重定向或者是将wordpress文件夹移动到/var/www/目录下,并重命名为html,即可使用https://192.168.1.1/访问您的服务器,注意:在未完成之前请不要尝试访问。

7.创建Apache虚拟主机配置文件:

sudo nano /etc/apache2/sites-available/wordpress.conf
#在文件中添加以下内容
<VirtualHost *:443>
       ServerAdmin [email protected]
       DocumentRoot /var/www/html/wordpress
       ServerName your-domain.com
       SSLEngine on
       SSLCertificateFile /etc/ssl/certs/your-cert.crt
       SSLCertificateKeyFile /etc/ssl/private/your-cert.key
       <Directory /var/www/html/wordpress>
           Options Indexes FollowSymLinks MultiViews
           AllowOverride All
           Require all granted
       </Directory>
</VirtualHost>

请替换your-domain.com为您的域名,[email protected]为您的邮箱地址,请根据需要自行替换目录。

#启用mod_rewrite模块
sudo a2enmod rewrite

8.生成自签名证书:

sudo mkdir /etc/ssl/private
sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/ssl/private/your-cert.key -out /etc/ssl/certs/your-cert.crt

此证书是一个10年的自签名证书。请根据需要替换您自己的证书,在证书生成过程中,请根据提示填写相关信息。

9.启用Apache SSL模块和新创建的虚拟主机:

sudo a2enmod ssl
sudo a2ensite wordpress.conf
#设置权限
sudo chown -R www-data:www-data /var/www/html/wordpress
sudo chmod -R 755 /var/www/html/wordpress
#重启Apache服务器
sudo systemctl restart apache2

现在,您应该能够通过https://your-domain.com 访问部署的WordPress,并使用有效期为十年的自签名证书进行加密连接

手动修改WordPress Secret Keys

什么是 WordPress 密钥?

WordPress 密钥是存储在 wp-config.php 文件中的随机长文本。 它们帮助对 WordPress 中的重要数据进行加密和哈希处理。 它们用于帮助保护您的身份验证 cookie 并创建安全号码以防止攻击。

WordPress 有自己的 WordPress 密钥生成器,它将为您输出随机密钥,如下所示:

define('AUTH_KEY',         '_a[PGm:#k-fYSO9.oHX)5_|s,T`,Fr|ZrK[(f(bOhpao@IpcF3)8j= |K>#aHgjl');
define('SECURE_AUTH_KEY',  'c5tDx/ #~oDrX.&IN5*)xc`1&Vh|f[h,7dv(~S0_C%;%O@X-+W+}9 0|,%_$z--R');
define('LOGGED_IN_KEY',    'wjLq>hlKjFF2`7g[vSNvoOv=e~oZa@$69Z*-rF5#2od0S^Ugq%Eiu+ymWee@;P*v');
define('NONCE_KEY',        'i_$nlL&QNsIvv3]}zgC.^Gm+-H.x?M|zB8kH.Tseb!sG+&|N#}lURae*kHz->TV)');
define('AUTH_SALT',        'C.t%Tw+T=45d]jhT:? 8;lezj^Xu;c8TKY-wBz;O5M*2Sm2~%7dy2E:n/)N(IklK');
define('SECURE_AUTH_SALT', '){@wv)/q?[m!dA!3!{R3Zg[R+ t1F ORSD?A6+D-9`x_j+G*)e<y7LnUA0Pm_6q8');
define('LOGGED_IN_SALT',   'IU&lHPyqNz{&EiW3c41KwiK4D6}RG;/8Z%EXx@f]q,~9&Kb8Pz#trGmW*;KJQZPw');
define('NONCE_SALT',       'y>XfZ[>6&oznu|bMxmWIc/,8FwD8DC)NSxH/k8H/E81SjaOcd7DYNxdbi>qN+kJ)');

警告:请自己点击这里生成不要照搬,不要照搬,不要照搬,不要照搬

默认密钥有哪些安全风险?

如果您使用可预测的密钥,则会削弱您的身份验证 cookie 以及它们可能在其他地方使用的安全性,例如在跨站点请求伪造 (CSRF) 随机数中。

如果 WordPress 在安装过程中无法写入您的 wp-config.php 文件,WordPress 将使用以下文本填充您的密钥,并将您的唯一短语放在这里。

这是非常可预测的,并且会削弱您网站的安全性。 但别太担心,这不是世界末日。 在大多数情况下,WordPress 已经考虑到人们使用可预测密钥的风险,并实施了进一步的安全措施,例如使用部分密码。

话虽这么说,但始终建议您的密钥不要使用默认密钥并且是随机的。

如果出现无法连接数据库的错误,请手动配置wp-config.php文件

打开终端,并导航到您的 WordPress 安装目录。例如,如果 WordPress 安装在 /var/www/html/wordpress,则可以使用以下命令进入该目录:

cd /var/www/html/wordpress
#创建一个名为 `wp-config.php` 的新文件
cp wp-config-sample.php wp-config.php
#使用文本编辑器(如 Nano、Vi 或 Gedit)打开 `wp-config.php` 文件
nano wp-config.php

在打开的文件中,您需要提供数据库连接和认证相关的信息:

  • define('DB_NAME', 'database_name_here');中的 database_name_here 替换为您的数据库名称
  • 将 define(‘DB_USER’, ‘username_here’); 行中的 username_here 替换为数据库用户名称(例如 ‘wordpressuser’)
  • define('DB_PASSWORD', 'password_here');中的 password_here 替换为数据库用户密码
  • 如果数据库位于本地主机(与 WordPress 安装在同一台服务器上),您可以保留以下行不变: define('DB_HOST', 'localhost'); 如果数据库位于其他服务器上,您需要将 'localhost' 替换为数据库服务器的 IP 地址或域名。
  • 如果您的数据库使用默认的 MySQL 端口(3306),则无需更改以下行: define('DB_PORT', '3306'); 如果数据库使用不同的端口,请将 '3306' 替换为正确的端口号。

注意:修改后需重新设置权限。

更改WordPress最大文件上传大小(不是一定要更改,默认是两兆,如果你有需要可以继续往下看)

  1. 打开终端,并导航到您的 WordPress 安装目录。例如,如果 WordPress 安装在 /var/www/html/wordpress,则可以使用以下命令进入该目录:
cd /var/www/html/wordpress
  1. 打开 wp-config.php 文件以进行编辑:
nano wp-config.php
  1. wp-config.php 文件中,找到以下行:
define('WP_DEBUG', false);

在该行之前添加以下代码:

@ini_set('upload_max_filesize','2G');
@ini_set('post_max_size','2G');

这将尝试在运行时更改 PHP 的上传最大文件大小和 POST 数据大小为 2GB。

  1. 保存并关闭文件。
  2. 打开 .htaccess 文件进行编辑:
nano .htaccess
  1. .htaccess 文件的开头添加以下代码:
php_value upload_max_filesize 2G
php_value post_max_size 2G

这将在 Apache 服务器上设置 PHP 的上传最大文件大小和 POST 数据大小为 2GB。

  1. 保存并关闭文件。
  2. 重新启动您的 Web 服务器以使更改生效。例如,在 Apache 服务器上,可以使用以下命令重启 Apache:
sudo systemctl restart apache2

注意:修改后需重新设置权限。

sudo chown -R www-data:www-data /var/www/html/wordpress
sudo chmod -R 755 /var/www/html/wordpress

这些步骤将尝试在 wp-config.php.htaccess 文件中配置 PHP 的最大文件上传大小为 2GB。请注意,这些更改也取决于您的服务器配置和 PHP 的最大上传限制。如果您在更改后仍然遇到问题,请确保服务器和 PHP 的相关设置支持所需的文件大小。

如有需要,可以启用缓存相关的模块

#安装 brotli 扩展
sudo apt-get update
sudo apt-get install brotli
#安装内存缓存扩展(如 APCu 或 Memcached)
sudo apt-get install php-apcu
sudo apt-get install php-memcached
#安装 Redis 扩展
sudo apt-get install php-redis
#安装 HTML Tidy 扩展
sudo apt-get install php-tidy
#安装 SSH2 扩展
sudo apt-get install php-ssh2
#为 Apache 启用 mod_expires
sudo a2enmod expires
#为 Apache 启用 mod_ext_filter
sudo a2enmod ext_filter
#为 Apache 启用 mod_headers
sudo a2enmod headers
#安装php-dev软件包
sudo apt-get install php-dev
#安装 PHP 的 brotli 扩展。目前,官方 PHP 扩展仓库中没有 brotli 扩展,但您可以从 GitHub 上找到一个可用的实现
git clone --recursive https://github.com/kjdev/php-ext-brotli.git
cd php-ext-brotli
phpize
./configure --with-brotli
make
sudo make install

出现以下内容即代表安装成功 PHP 的 brotli 扩展:

Libraries have been installed in:
/home/mic/php-ext-brotli/modules

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the ‘-LLIBDIR’
flag during linking and do at least one of the following:

  • add LIBDIR to the ‘LD_LIBRARY_PATH’ environment variable
    during execution
  • add LIBDIR to the ‘LD_RUN_PATH’ environment variable
    during linking
  • use the ‘-Wl,-rpath -Wl,LIBDIR’ linker flag
  • have your system administrator add LIBDIR to ‘/etc/ld.so.conf’

See any operating system documentation about shared libraries for

more information, such as the ld(1) and ld.so(8) manual pages.

Build complete.
Don’t forget to run ‘make test’.

Installing shared extensions: /usr/lib/php/20210902/

成功编译和安装了 brotli PHP 扩展后,请按照以下步骤将其添加到您的 php.ini 文件并重新启动 Web 服务器。

  1. 打开适用于您的 PHP 版本的 php.ini 文件。对于 Apache,通常位于 /etc/php/8.1/apache2/php.ini(请根据您的 PHP 版本进行调整)。对于 PHP-FPM,通常位于 /etc/php/8.1/fpm/php.ini
  2. php.ini 文件中添加以下行以启用 brotli 扩展:
extension=brotli.so

3. 保存并关闭 `php.ini` 文件。

4.重启 Web 服务器以应用更改。对于 Apache:

sudo systemctl restart apache2

(请根据您的 PHP 版本进行调整)

现在,您的服务器应该已经启用了 brotli 扩展。您可以通过运行 php -m 命令检查已启用的 PHP 扩展列表,以确保 brotli 扩展已加载。在进行更改后,请确保检查您的网站以确保一切正常运行。如果遇到任何问题,请查看 Apache 和 PHP 的日志以获取更多详细信息。

更新站点地址,在wp-config.php配置文件中添加代码:

define('WP_HOME', 'https://example.com');
define('WP_SITEURL', 'https://example.com');

*请将`https://example.com`替换为您的新站点地址。
智云海Telegram频道
技术支持:[email protected]
站长E-mail:[email protected]
如需转载,请注明文章出处

评论

  1. 匿名
    Windows Chrome
    10月前
    2023-8-09 14:24:26

    😊

  2. micro
    Android Chrome
    12月前
    2023-5-27 22:48:40

    看了这个挺不错的,我真心的为你点赞

  3. zcf
    Android Chrome
    12月前
    2023-5-27 12:25:36

    可以的

  4. zhi
    Android Chrome
    12月前
    2023-5-27 12:15:32

    不错哦!谢谢

发送评论 编辑评论

|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇