一直以来都有个念想,就是建个属于自己的网站。整个建站过程中,充满了艰辛,今天总算是建好了悦有智——小智的个人博客网站。开篇先记录下自己的心路历程,作个纪念。如果您有幸访问了这篇文章,那么也希望能够对大家产生帮助。
由于之前很少接触代码,经历过多次云服务器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
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。
<完>