在ubuntu上搭建网页服务器apache +mysql +php +certbot +wordpress 使用https访问。这是我的一次搭建经历,现在分享一下,给有需要的人。
先切到最高权限。
su
首先我先安装apache
先更新一下包源
apt -update
更新完了以后安装apache
apt install apache2
安装完成
接下来安装php
apt install php
安装完成php后还要再安装一些php模组
apt install php-fpm
apt install php-mysql
接下来便是将wordpress导入到服务器根目录
wget https://cn.wordpress.org/latest-zh_CN.zip
再安装unzip以来解压这个包
apt install unzip
解压
upzip latest-zh_CN.zip
这个命令会在当前目录生成一个叫做wordpress的目录
复制文件
cp -R wordpress /var/www/html/
复制完以后
接下来操作mysql新建数一个账号以及据库
mysql -u root
创建用户
CREATE USER 'username'@'localhost' IDENTIFIED BY 'passwd'; 创建数据库 CREATE DATABASE wordpressblog; 给用户权限 grant all privileges on wordpressblog.* to username@localhost identified by 'passwd';
请注意!操作mysql的语句后面一定要有分号,一定要注意!!
接下来安装certbot获取证书。 注意此步骤需要有自己的域名,假如只有IP并不可使用https链接。无需该步骤,直接前往浏览器输入服务器ip安装wordpress
apt install snapd
sudo snap install core
sudo snap refresh core
snap install –classic certbot
ln -s /snap/bin/certbot /usr/bin/certbot
certbot
接下来按照屏幕提示来操作
操作如果不出错则站点已经开启了https
注明:certbot的证书有效期只90天,到期需要续期,当然也可以自己写一个脚本来续期,但这是后话,下面是如何手动续期
续期命令:
certbot renew
注意 在到期前30天之内才能续期,否则certbot会判断没有必要进行续期。效果如下图
假如配置没有问题的话,那么就可以去安装wordpress去了
前往浏览器输入服务器网址,按照屏幕提示来操作
后记
安装完wordpress后,假如出现安装删除插件主题时候询问ftp账号密码,按照如下过程解决
chmod -R 777 /var/www/html/
降低权限。然后再wordpress目录下的wp-config.php末尾加入如下语句:
define(“FS_METHOD”,”direct”);
define(“FS_CHMOD_DIR”, 0777);
define(“FS_CHMOD_FILE”, 0777);
保存
重启apache
systemctl restart apache2.service
操作完成
如果出现文章发布不了的情况,在wordpress的控制台中
选择设置/固定链接 选择朴素(只要链接里没有中文即可)
保存,搭建完成
后话(其实一开始我是使用的百度云的lamp包(基于centos)来搭建的,但是在用certbot创建ssl证书的时候出了一些小问题,百度云的lamp包不是默认状态下的安装,certbot并不能自动对其签名并开启https,后来手动挂载了证书发现apche 还有vhost的问题,开启https后http访问的内容跟https访问的内容不一样,可是我修改文件没有效果,网上也没有太对对此有帮助的文章,按照教程也没有效果,(本人菜鸟一枚,望大佬指教)所以便采用ubuntu,使用apt默安装,这样certbot就可以自动开启https了)