Ubuntu上安装WordPress

欢迎访问本人博客浏览此文章

1、安装docker、docker-compose

1.1、安装 docker

sudo apt-get update
apt-get install ca-certificates curl gnupg lsb-release
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add - #安装证书
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" #写入软件源信息
sudo apt-get install docker-ce docker-ce-cli containerd.io #安装
systemctl start docker #启动docker

1.2、安装 docker-compose

sudo apt-get install docker-compose-plugin

验证是否成功

docker compose version

2、创建WordPress项目目录及配置文件

mkdir wordpress #在你指定的地方创建WordPress项目目录
cd wordpress
mkdir db_data
mkdir wordpress_data
touch docker-compose.yml
vim docker-compose.yml 

在docker-compose.yml文件中写入一下内容

version: "3.3"
    
services:
  db:
    image: mysql:latest
    volumes:
      - ./db_data:/var/lib/mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: wordpress
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress
    
  wordpress:
    depends_on:
      - db
    image: wordpress:latest
    volumes:
      - ./wordpress_data:/var/www/html
    ports:
      - "80:80"
      - "443:443"
    restart: always
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress
volumes:
  db_data: {}
  wordpress_data: {}

3、一键启动wordpress项目

启动

docker-compose up -d

停止

docker-compose down

重启

docker-compose restart

4、查看正在运行的容器及镜像

查看正在运行的容器

docker ps

查看镜像

docker images

5、登录管理员界面

网页登录管理员页面设置管理员账号密码并安装WordPress

https://yourserverip/wp-admin

至此WordPress安装完成

6、安装SSL/TLS证书

6.1、为什么要安装证书

安全套接字层 (SSL) 是一种加密安全协议。它最初由 Netscape 于 1995 年开发,旨在确保 Internet 通信中的隐私、身份验证和数据完整性。SSL 是如今使用的现代 TLS 加密的前身。实施 SSL/TLS 的网站的 URL 中带有“HTTPS”,而不是“HTTP”。
简而言之,你没安装这个证书只能用“http”访问你的网站,不能用“https”访问,而且网站前面会出现“不安全”字眼,所以我建议安装。

6.2、下载证书

在你的服务器厂商管理页面上申请并下载证书,以腾讯服务器为例,访问SSL证书管理页面,下载Apache证书

6.3、安装证书

6.2.1、加载Apache SSL模块

查看wordpress的docker容器ID,进入该容器

sudo docker exec -it 937faae55666 /bin/bash

在wordpress容器中输入a2enmod ssl

a2enmod ssl

第一次会加载,并且提示重启Apache,我们直接从重启容器即可,也可以直接重启Apache

/etc/init.d/apache2 reload
6.2.2、绑定SSL证书

Apache 加载 SSL 模块后,会在 /etc/apache2/sites-available 下生成 default-ssl.conf 文件

vim /etc/apache2/sites-available/default-ssl.conf

该文件中有以下内容

SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

上述两行配置就是证书的存放位置,我们只需要把第三方可信CA签发的证书相应的文件上传至对应位置即可。

ssl-cert-snakeoil.pem:为证书,文件内容是这样

-----BEGIN CERTIFICATE-----
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-----END CERTIFICATE-----

ssl-cert-snakeoil.key:为密钥,文件内容是这样

-----BEGIN PRIVATE KEY-----
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-----END PRIVATE KEY-----

先把ssl-cert-snakeoil.pem 和 ssl-cert-snakeoil.key 上传到服务器。然后直接用docker cp将文件复制进wordpress容器中

docker cp 服务器文件路径/ssl-cert-snakeoil.pem 容器名:/etc/ssl/certs
docker cp 服务器文件路径/ssl-cert-snakeoil.key 容器名:/etc/ssl/private
6.2.3、链接配置文件

从 apache 的配置文件 apache2.conf 可以看到,apache 只会读取 /etc/apache2/sites-enabled 目录的配置文件,所以需要把 /etc/apache2/sites-available 下的 default-ssl.conf 文件链接到 /etc/apache2/sites-enabled 目录下。

ln -s /etc/apache2/sites-available/default-ssl.conf \
/etc/apache2/sites-enabled/default-ssl.conf
6.2.4、配置http请求强制跳转到https

编辑 /etc/apache2/sites-available/000-default.conf,在 <VirtualHost *:80> </VirtualHost> 标签中增加下面的配置

<Directory "/var/www/html"> 
    RewriteEngine   on
    RewriteBase /
    # FORCE HTTPS
    RewriteCond %{HTTPS} !=on
    RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
</Directory>
6.2.5、修改完成后重启容器

exit退出容器,然后进入docker-compose.yml配置文件所在的目录,管理员身份执行以下命令

docker-compose restart
6.2.6、配置wordpress访问地址

一定要保证 https 和 http 两种方式都能正常访问网站,才能改这个配置,否则可能导致网站无法访问。(如果这种情况已经发生,解决方案见【7.1】

进入wordpress后台中,【设置】-【常规】中配置WordPress 地址(URL)站点地址(URL)两个地址的 http协议 修改为 https协议 并保存。

7、疑难杂症

7.1、WordPress地址(URL)错误

登陆mysql

sudo docker exec -it d6401cc9265d /bin/bash #我用的docker容器运行的mysql,所以要先进入容器
mysql -u wordpress -p #输入密码登录

选中wordpress的数据库

USE wordpress;

查看wp_options表单

select * from wp_options limit 2;

更改option_values

#将下列your_wordpress_url修改为你的网站
UPDATE wp_options SET option_value="your_wordpress_url" WHERE option_name="siteurl";
UPDATE wp_options SET option_value="your_wordpress_url" WHERE option_name="home";

7.2、WordPress上传媒体限制

7.2.1、上传文件大小限制

方法1:修改WordPress根目录下的.htaccess文件,加入以下代码:
不推荐这种方法,每次修改配置重启服务就失效了,又得重新加入

php_value upload_max_filesize 200M
php_value post_max_size 200M
php_value max_execution_time 300
php_value max_input_time 300

方法2:通过插件进行设置

安装 Big File Uploads 插件,安装后设置下面有个大文件上传的选项

修改自己想要的大小即可

7.2.2、上传文件类型限制

安装 WP Extra File Types 插件,安装后在设置里有扩展文件类型的选项。
另外,WordPress 升级 4.4 之后,推出了 srcset 这个图片多屏自适应功能,默认会生成至少四个版本的缩略图,而这个插件禁用了WordPress裁剪功能(你无法修改这一设定),WordPress将不再自动生成缩略图文件,这从某种角度上来讲帮你节省了大量内存空间

选择这个选项,将第二个勾上

CTRL+F搜索你想增加的文件类型,将其勾上

如果这里面没有你想要的文件类型,那么鼠标滑到最底部,增加文件类型

最后保存更改

7.2.3、媒体库缺少文件管理

媒体库没有分类管理的功能,文件较多时,媒体库堆积了很多各种各样的文件,非常难管理,可以安装插件 Filester – File Manager Pro 解决这个问题(很多相关插件都要收费,这个插件功能全且免费)

然后在这个插件提供的管理页面进行文件管理,不使用原生的媒体库管理

7.3、wordpress在线评论留言不能接收邮件提醒信息

wordpress接收评论邮件提醒是需要主机空间支持php的mail()函数的,但是国内很多主机都是不支持这个mail()函数的,那么就不能接收邮件,下面是解决方案:

后台设置,如果主机空间支持mail()函数,只需要设置这里就可以了

如果主机空间不支持mail()函数,那么就需要安装Configure SMTP插件

安装成功后左侧多一个选项,可以进去设置

登录QQ邮箱在【设置】-【账号】下面开启POP3/SMTP服务,操作很简单,我已经开启了就不演示怎么打开了,同样的你也可以在这里查看POP3/SMTP授权码

然后我们在这个界面点击“发送电子邮件”进行测试,如果你能收到邮件,那就设置成功了,试试在文章下面评论看看能不能收到邮件吧 (*^▽^*)

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在Ubuntu安装WordPress,你需要遵循以下步骤: 1. 首先,安装LAMP(即Linux、Apache、MySQL、PHP)服务器。运行以下命令进行安装: ``` sudo apt update sudo apt install apache2 mysql-server php libapache2-mod-php php-mysql ``` 2. 接下来,为MySQL设置root密码。运行以下命令: ``` sudo mysql_secure_installation ``` 3. 然后,为WordPress创建一个新的MySQL数据库和用户。运行以下命令: ``` sudo mysql -u root -p CREATE DATABASE wordpress; CREATE USER 'wordpressuser'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpressuser'@'localhost'; FLUSH PRIVILEGES; exit; ``` 注意:请将“password”替换为你自己的密码。 4. 接下来,下载和安装WordPress。运行以下命令: ``` cd /tmp curl -LO https://wordpress.org/latest.tar.gz tar xzvf latest.tar.gz sudo mkdir -p /var/www/html/wordpress sudo cp -a /tmp/wordpress/. /var/www/html/wordpress/ sudo chown -R www-data:www-data /var/www/html/wordpress sudo chmod -R 755 /var/www/html/wordpress ``` 5. 最后,为WordPress配置Apache虚拟主机。创建一个新的Apache配置文件,运行以下命令: ``` sudo nano /etc/apache2/sites-available/wordpress.conf ``` 复制并粘贴以下内容: ``` <VirtualHost *:80> ServerAdmin admin@example.com DocumentRoot /var/www/html/wordpress ServerName example.com ServerAlias www.example.com <Directory /var/www/html/wordpress/> Options FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> ``` 注意:请将“example.com”替换为你自己的域名或IP地址。 6. 保存并退出配置文件。激活新站点配置文件,运行以下命令: ``` sudo a2ensite wordpress.conf ``` 7. 最后,重新启动Apache服务器,使所有更改生效,运行以下命令: ``` sudo systemctl restart apache2 ``` 现在,你可以通过浏览器访问你的WordPress站点,并完成安装过程。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值