使用阿里云主机搭建WP站过程记录

2019年5月5日22:42:28 评论 120
摘要

建站过程中最终的实践经验总结,包括从无到有的使用阿里云服务器搭建wordpress网站过程,含有网站数据集文件夹管理,全站免费切换https的方法总结。

一直以来都有个念想,就是建个属于自己的网站。整个建站过程中,充满了艰辛,今天总算是建好了悦有智——小智的个人博客网站。开篇先记录下自己的心路历程,作个纪念。如果您有幸访问了这篇文章,那么也希望能够对大家产生帮助。

由于之前很少接触代码,经历过多次云服务器ECS更改系统或初始化磁盘的过程,真的好不容易。今天主要是一个总结,主要介绍下具体搭建wordpress博客具体步骤,phpmyadmin可视化界面,及全站https的设置。可以参考此方法使用同一个云服务器建立多个wp站点。

1 建站准备

服务器:阿里云ECS

服务器系统:Ubuntu_16_01_64 (最开始使用的是Ubuntu 14的系统,当时根据网上的教程老是出错或者卡住)

已备案域名:yueuk.com (因为现在必须备案才能够解析到国内的阿里云ECS)

软件安装:Xshell 6 及 Xftp 6 (Xshell及Xftp具体的安装设置教程自行百度)

端口开放:21,22,80,443,3389,8888

使用阿里云主机搭建WP站过程记录

2 搭建LAMP环境

LAMP是一个缩写,它指一组通常一起使用来运行动态网站或者服务器的开源软件,包括:Linux操作系统,Apache网络服务器,MySQL数据库,Perl、PHP或者Python 编程语言。

2.1 首先进行系统的更新及更新源,这在开始使用Linux系统的时候很有必要。如果开始没有更新,后面会发现命令失效。

apt-get update
apt upgrade -y

使用第二个命令可能会弹框提醒,使用键盘上下箭头键选择“install the package maintainer's version”

2.2 配置Apache2

apt install apache2 -y

配置成功后,浏览器输入云服务的公网ip就会跳出apache2的界面,出现“It works!”表示安装成功。

2.3 安装PHP7.0

apt install php7.0 -y

我最开始使用的是Ubuntu 14,然后到这一步老是出错,最后查找相关资料才更换了云服务器的系统。

2.4 安装PHP相关的组件

apt install libapache2-mod-php7.0

2.5 安装MySQL

apt install mysql-server -y

这一步会要求创建数据库的密码(需要记住),按照提示进行设置就好,用户名为root。

2.6 安装PHP-Mysql组件

apt install php7.0-mysql

2.7 安装phpmyadmin

sudo apt install phpmyadmin -y

弹出对话框后,选择apache2,然后进行密码设置。这个密码是phpmyadmin的管理密码,用户名为root。

2.8 phpmyadmin可视化界面安装

phpenmod mcrypt
phpenmod mbstring
sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
systemctl restart apache2

浏览器访问(注意进行浏览器缓存清除)domain_name_or_IP/phpmyadmin 用户名为:root,密码为之前设置的密码。

3 创建网站数据库并安装配置WP

3.1 创建网站专有数据库

因为涉及到网站的私密信息,这里作如下假定。创建一个名为"yueuk_wpdata"数据库,用户为"yueuk_wpuser",登陆密码为”mm12345“ (大家参考的时候注意进行名字替换)

mysql -u root -p
// 进入数据库输入数据库密码,输入的字符不会显示,不用管,enter键确认

CREATE DATABASE yueuk_wpdata;
CREATE USER 'yueuk_wpuser' IDENTIFIED BY 'mm12345';
GRANT ALL PRIVILEGES ON yueuk_wpdata.* TO 'yueuk_wpuser';
//数据库及这个数据的用户用于网站的数据存放,注意必须以;结尾

FLUSH PRIVILEGES;
exit;
//使配置生效并退出

3.2 安装wordpress

因为一个阿里云服务器可以搭载5个域名,即可以创建5个独立的网站。因此我希望能够充分的利用,以便后期搭建更多的网站,这必然要求首先数据库独立(上一步已经建立了专门的数据库),网站文件集中存放一个文件夹。进行如下的命令:

mkdir /var/www/html/yueuk.com/
//创建单独yueuk.com文件夹用于存放网站所有数据

cd /var/www/html/yueuk.com/
mkdir /var/www/html/yueuk.com/src/
//在yueuk.com下创建src目录用于下载最新的wp安装包

cd /var/www/html/yueuk.com/src/
wget http://wordpress.org/latest.tar.gz
tar -zxvf latest.tar.gz
mv latest.tar.gz wordpress-`date "+%Y-%m-%d"`.tar.gz
//下载并解压缩最新版本的WordPress,完成后将latest.tar.gz重命名为wordpress,后跟日期以存储原始源文件的备份。

chown -R www-data:www-data /var/www/html/yueuk.com/
//将Web服务器用户www-data设置为站点主目录的所有者

mkdir /var/www/html/yueuk.com/public_html/
cd /var/www/html/yueuk.com/public_html/
cp -R /var/www/html/yueuk.com/src/wordpress/* ../public_html/
chown -R www-data:www-data /var/www/html/yueuk.com/public_html
//创建网站的public_html文件夹,并将WordPress文件复制到您的public_html文件夹,同时配置public_html文件夹的所有权

3.3 配置apache虚拟主机

cd /etc/apache2/sites-available
cp 000-default.conf yueuk.conf
//给网站单独创建 yueuk.conf 配置文件,不使用默认的配置文件

使用Vim命令(Vim编辑器使用方法可查阅 使用阿里云搭建WordPress站问题汇总)打开这个文件进行编辑,或者使用xftp下载后编辑然后在上传覆盖。

vim /etc/apache2/sites-available/yueuk.conf

进行文件的配置(直接复制,红色字体注意替换)

VirtualHost *:80>

        ServerName yueuk.com
        ServerAlias www.yueuk.com
        DocumentRoot /var/www/html/yueuk.com/public_html

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
        
        <Directory /var/www/html/yueuk.com/public_html/>
                Options FollowSymLinks
                AllowOverride All
                Order allow,deny
                Allow from all        
                Require all granted
        </Directory>

</VirtualHost>

配置好后生效这些配置并重启apache

a2ensite yueuk.conf
/etc/init.d/apache2 reload

3.3 配置wordpress

cd /var/www/html/yueuk.com/public_html/
cp wp-config-sample.php wp-config.php
//生成 wp-config.php 配置文件

curl -s https://api.wordpress.org/secret-key/1.1/salt/
//从WordPress密钥生成器中获取安全值,复制好结果,以便进行替代

vim /var/www/html/yueuk.com/public_html/wp-config.php
//使用vim编辑器打开wp-config.php文件,进行配置

配置好网站使用的数据库,数据库用户,用户密码,安全值。,比如:(红色字体注意替换)
define( 'DB_NAME', 'yueuk_wpdata' );
define( 'DB_USER', 'yueuk_wpuser' );
define( 'DB_PASSWORD', 'mm12345'  );

define('AUTH_KEY',         '-++6|sis[yBx1:x-qz$S`8RDg-$Sb/TKP@A.V477U5-|^B<g^kMX-<L,T)L&1l+N');
define('SECURE_AUTH_KEY',  '#, GRj5M2%9+=rl+fzoGa{u&|^=y/U^G|+Gy5ROy|-HqH,_Uwj7tlTqNbDikTSWM');
define('LOGGED_IN_KEY',    '.&vlABIN$yT-;->VL/R%Uv5[CgG;{,34c(~qhc@BE7ESB@e+[2/1G|~NsA*M, yJ');
define('NONCE_KEY',        '-31hZFe|3[Gyb:}aicawxk;nArqavb%(wh+jEX[,_T0]0?{>,:h>jU5}?-k!ZR8 ');
define('AUTH_SALT',        'ztAKM ~5 &)Ql83ZKP{J{!5P>FW]htk{G`aki~wbq,#GE-<q!.3-/B{C.UuULD@g');
define('SECURE_AUTH_SALT', 'xJ5r@rC=/YLr`dEu&b8yR+]_#K!UL-sUB=L@2c[hJWzC^]? =XB-V{KGT:9y@&-&');
define('LOGGED_IN_SALT',   '9f`ixQ ~~dw1|?|/6%>WPbMwSG.YwL1&X!g[Yo`H`]cePFP_of[Qhx86Eo,,-]J6');
define('NONCE_SALT',       'B},?t/PVJ`1I3{H((*p.2Zvap]$+k9n6/;Q9207y6xD}-H_;5-Z|Ige&<3dkB?Bz');

为了防止wp后台更新插件的时候提示输入密码,更新不了之类的,还需要在wp-config.php配置文件最后添加如下代码

/** Enable ftp direct */
define('FS_METHOD', 'direct');

此时浏览器输入网站域名yueuk.com,就可以进入wordpress安装界面,直接到选择语言了,则安装完成。

4 安装免费的SSL证书,全站http转https

目前搜索引擎对https更友好,浏览器识别https时有个小锁看起来,比提示!或者不安全看起来爽多了,故非常有必要将网站转为https。

4.1 证书安装

a2enmod rewrite
apache2ctl configtest
systemctl restart apache2
//打开rewrite模块,可以确保固定链接正常

a2enmod ssl
service apache2 restart
//重启SSL及apache服务器

apt-get install python-certbot-apache
//获取免费的证书 Encrypt SSL/TLS client

certbot --apache -m youremail@outlook.com -d yueuk.com -d www.yueuk.com
//为自己的网站安装证书

弹出接受许可对话,选‘A’,弹出接受邮件通知,选‘Y’,弹出重新定向提示,选‘2’,等待完成后,会弹出提示安装成功的信息。然后可以发现在/etc/apache2/sites-available/下多了一个文件yueuk-le-ssl.conf,并且yueuk.conf也增加了代码类内容。

4.2 设置自动更新

select-editor
//弹出编辑器选择,选择一个自己熟悉的编辑器,比如vim.tiny

crontab -e
// 创建用户名为root的文件
输入
0 1 * * * /usr/bin/certbot renew & > /dev/null
//表示30天更新一次cerbot证书,保存退出。
    此时/var/spool/cron/crontabs下会生成一个文件,默认为root文件名(用户名)

4.3重新写入,并使重启apache

a2enmod rewrite
/etc/init.d/apache2 restart

4.4wp后台地址切换

回到wp后台,设置-常规,将wordpress地址和站点地址由http改为https。

使用阿里云主机搭建WP站过程记录

<完>

weinxin
微信公众号:悦有智(yueukwx)
微信扫码关注,免费下载个人塑造精选资料,网站精选文章推送

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: