WordPress Beta On Vultr (VPS)

2016.08.09 | | 44 Comments

再一次折腾 VPS,已经没有想象中那么难了。能看着教程搞定基本的操作了,比如搭建一个 WordPress 博客,配置上 Let's Encrypt……当然,离能熟练使用还有很长一段路。目前也只是搭建了一个测试站练手,不知道以后会不会把这个博客也迁移到 VPS 上去。

前情回顾:

鼠标点点,4 个月 Vultr VPS 到手…

看到 佐仔志 文章推荐 Vultr VPS,新注册就送 $20,最便宜的 VPS 是 $5 每月,这样就相当于可以免费试用四个月了,加上以前买的低配搬瓦工,配置较低,对于新手来说不好折腾,现在也就弄了...

以后的事情谁知道呢?先简单记录一下这次还算成功的折腾。

建立一个 VPS 实例

第一步肯定是建立一个 VPS 实例,得先有个能折腾的环境。建立 VPS 的时候得设置一个 Default Hostname (默认主机名),就是默认的域名,比如我搭建这个测试站输入的是 v.cyhour.com

OS 这次选择了 CentOS 6 i386,以前试过 CentOS 7 x64,最后因为防火墙没搞定,放弃了。而事实上 CentOS 6 i386 也得配置一下防火墙才能正常使用。

域名解析

VPS 建立好,安装完操作系统,把域名 DNS 解析到 VPS IP,接着就可以用 SSH 登陆 VPS 开玩了。登陆 SSH 我用了以前经工作串口调试常用的 Xshell,这个选一个自己习惯的就好了。

SSH 连接、搭建网站环境

SSH 连接上 VPS 开始搭建网站环境,想偷懒的小白,必须选一键安装包,省时省力。这次选了 LAMP 一键安装包,因为这个默认就能使用 SFTP 方式使用 FTP,而 LNMP 还得配置 pureftpd 才可以使用 FTP,以前试过权限问题,折腾半天没成功,都有心理阴影了。

LAMP 安装步骤挺简单的,官网步骤借过来了:

事前准备(安装 wget、screen、unzip,创建 screen 会话)

注意:双斜杠//后的内容不要复制输入

yum -y install wget screen unzip // for CentOS/Redhat System
apt-get -y install wget screen unzip // for Debian/Ubuntu System

下载、解压、赋予执行权限

wget -O lamp.zip https://github.com/teddysun/lamp/archive/master.zip
unzip lamp.zip
cd lamp-master/
chmod +x *.sh

安装 LAMP 一键安装包

screen -S lamp
./lamp.sh

等上十来分钟,浏览器输入 VPS IP 能访问的话,环境基本上就搭建好了。若不能访问,就得配置一下防火墙了。

防火墙规则修改

SSH 命令行窗口敲入代码并回车:vi /etc/sysconfig/iptables

按一下 i,敲入以下内容:

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

按一下 ESC,输入 :wq 然后回车保存文件并退出。

然后 reboot,如无意外,输入 ip 或者域名,已经能访问默认首页了。好像不用允许 3306 端口也可以?

phpMyAdmin 安全设置

这个 LAMP 一键安装包的 phpMyAdmin 安装目录: /data/www/default/phpmyadmin,据说默认路径不安全,最好修改一下?比如改为 /data/www/default/admin_8989

敲入命令回车即可:mv /data/www/default/phpmyadmin /data/www/default/admin_8989

建立数据库、安装 WordPress

新建立数据库(排序规则:utf8mb4_general_ci),这个与普通的虚拟主机操作方法是一样的。后台地址是:http://ip 或者域名/admin_8989,用户名和密码默认为 root。

WordPress 安装包下载、解压、移动至根目录、修改权限

cd /data/www/default
wget -O w.zip https://cn.wordpress.org/wordpress-4.5.3-zh_CN.zip
unzip w.zip
cd wordpress/
mv * ../
chown -R apache:apache /data/www/default/

然后就是熟悉的 WordPress 安装了,省略……

Let's Encrypt 安装使用

原文:免费SSL证书Let's Encrypt(certbot)安装使用教程

依次敲入命令安装:

yum install epel-release
cd /root/
wget https://dl.eff.org/certbot-auto --no-check-certificate
chmod +x ./certbot-auto
./certbot-auto -n

单域名生成证书:

./certbot-auto certonly --email 123@qq.com --agree-tos --webroot -w /data/www/default -d v.cyhour.com

出现类似如下提示就是生成成功了:

IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/v.cyhour.com/fullchain.pem. Your cert will
expire on 2016-11-04. To obtain a new or tweaked version of this
certificate in the future, simply run certbot-auto again. To
non-interactively renew *all* of your certificates, run
"certbot-auto renew"
- If you lose your account credentials, you can recover through
e-mails sent to 123@qq.com.
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
- If you like Certbot, please consider supporting our work by:

Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le

生成的证书会存在:/etc/letsencrypt/live/v.cyhour.com/ 目录下。

证书只有 90 天期限,建议使用 crontab 进行自动续期。CentOS 下面安装Crontab

yum install vixie-cron crontabs //安装Crontab
chkconfig crond on //设为开机自启动
service crond start //启动

查看 crontab 定时执行任务列表:crontab -l

添加 crontab 定时执行任务:crontab -e

比如,我想每 88 天自动续期证书,将下面的语句添加到 crontab 保存退出即可。

0 3 */88 * * /root/certbot-auto renew

至此 Let's Encrypt 配置完成。

Apache 虚拟主机上设置 SSL

修改一下 Apache 的配置文件 /usr/local/apache/conf/httpd.conf ,查找 httpd-ssl 将前面的#去掉。

然后再执行(请根据实际修改目录):

cat >/usr/local/apache/conf/extra/httpd-ssl.conf<<EOF
Listen 443

AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl .crl

SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
SSLProxyCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
SSLHonorCipherOrder on

SSLProtocol all -SSLv2 -SSLv3
SSLProxyProtocol all -SSLv2 -SSLv3
SSLPassPhraseDialog builtin

SSLSessionCache "shmcb:/usr/local/apache/logs/ssl_scache(512000)"
SSLSessionCacheTimeout 300

Mutex default

SSLStrictSNIVHostCheck on
NameVirtualHost *:443
EOF

然后,在对应 Apache 虚拟主机配置文件(默认主机 /usr/local/apache/conf/extra/httpd-vhosts.conf )最后的 下面添加上 SSL 部分的配置文件(需要根据实际修改相关目录):

<VirtualHost *:443>
DocumentRoot /data/www/default
ServerName v.cyhour.com:443
ServerAdmin nieccyyy@qq.com
ErrorLog "/usr/local/apache/logs/v.cyhour.com-error_log"
CustomLog "/usr/local/apache/logs/v.cyhour.com-access_log" common
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/v.cyhour.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/v.cyhour.com/privkey.pem
<Directory "/data/www/default">
SetOutputFilter DEFLATE
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
DirectoryIndex index.html index.php
</Directory>
</VirtualHost>

如无意外,重启一下 Apache,SSL 就能使用了。

命令:/etc/init.d/httpd restart


这次尚算愉快的折腾基于注册就送 $20 的 Vultr VPS,京东机房

——最近更新:2016年8月19日
支付宝扫码打赏微信打赏

如果文章对您有帮助,欢迎移至上方按钮打赏老杨

声明: 除非注明,常阳时光文章均为原创,转载请以链接形式标明本文地址
本文地址:https://cyhour.com/413/

Comments:44

  1. 不是很会配置linux 只会那种一键的。

    2016.08.07 21:38 # 回复
    1楼
  2. nyun18 Microsoft Edge 13.10586 Windows 10 x64 Edition

    啊,这种理解不了得的东西,真是不会,只会用AMH面板…

    2016.08.08 09:12 # 回复
    2楼
    • 老杨2.15k+ Firefox 47.0 Windows XP

      @nyun 会安装面板,再稍稍深入一点就会了,原理差不多,都是一键安装包。

      2016.08.08 09:20 # 回复
      • nyun18 Firefox 48.0 Windows 10 x64 Edition

        @老杨 嗯,只是懒得去深入了,用习惯面板后,真的就不想动了~

        2016.08.08 09:23 # 回复
  3. 无声有处30 Google Chrome 51.0.2704.103 Windows 8.1

    棒棒的 我都不懂~

    2016.08.08 09:31 # 回复
    3楼
  4. 就算很详细了,我还是很排斥用命令…

    2016.08.08 10:56 # 回复
    4楼
  5. fooleap116 Google Chrome 53.0.2785.30 Windows 7 x64 Edition

    打开比较慢,用命令没问题,关键是延迟问题感觉很不舒服。

    2016.08.08 18:04 # 回复
    5楼
  6. 泽辉3 Firefox 48.0 Windows 7 x64 Edition

    生命不息折腾不止,哈哈

    2016.08.08 19:30 # 回复
    6楼
    • 老杨2.15k+ Safari 8.0 iPhone iOS 8.3

      @泽辉 对啊。你那博客手机进去文章页面就无法滑动了…

      2016.08.08 20:04 # 回复
      • 泽辉3 Google Chrome 47.0.2526.80 Windows 7 x64 Edition

        @老杨 发现了,好像就iphone 的会,神秘的bug 我找了 好久的原因。

        2016.08.09 09:00 # 回复
  7. 这折腾劲表明我们还年轻啊。

    2016.08.09 19:17 # 回复
    7楼
  8. 郑永120 Google Chrome 47.0.2526.80 Windows 10

    清晰许多,但是这个页面评论和文章好像分得不够明显。

    2016.08.11 04:35 # 回复
    8楼
    • 老杨2.15k+ Firefox 47.0 Windows XP

      @郑永 分得清吧?有个标题隔开了啊。

      2016.08.11 18:31 # 回复
      • 郑永120 Google Chrome 47.0.2526.80 Windows 10

        @老杨 下面字体有点大,没有就空隙。。感觉一坨。。。汗。。 对了,vps不折腾了,还是虚拟主机,折腾以后一段时间不折腾,还是会忘的。

        2016.08.11 21:12 # 回复
        • 老杨2.15k+ Firefox 48.0 Windows 10 x64 Edition

          @郑永 具体操作是会忘记,但是原理是忘不掉的,懂得门路,加上搜索引擎,再折腾就不难了。

          2016.08.11 21:23 # 回复
          • 郑永120 WebView 4.0 Android 6.0.1

            @老杨
            这个门路难走,因为太黑。

            2016.08.12 02:45 # 回复
            • 老杨2.15k+ Firefox 47.0 Windows XP

              @郑永 黑到不黑,就是有点绕,路太多了,不好走。

              2016.08.12 11:39 # 回复
          • 郑永120 WebView 4.0 Android 6.0.1

            @老杨 你的博客有问题,字体,评论区字体超大。

            2016.08.12 02:47 # 回复
            • 老杨2.15k+ Safari 8.0 iPhone iOS 8.3

              @郑永 我电脑,几个手机上看都正常啊…况且没改过字体大小,只是字体稍稍改了一下而已。

              2016.08.12 07:38 # 回复
              • 郑永120 WebView 4.0 Android 6.0.1

                @老杨
                那就是缓存问题吧。。。

                2016.08.12 07:50 # 回复
                • 老杨2.15k+ Firefox 47.0 Windows XP

                  @郑永 不应该啊,我没有缓存插件,只是主机自带的 CDN,但是每次修改完 CSS 都会强制刷新的。

                  2016.08.12 09:14 # 回复
                  • 郑永120 Google Chrome 52.0.2743.116 Windows 10

                    @老杨
                    原来是QQ浏览器下显示问题。

                    2016.08.12 21:23 # 回复
                    • 老杨2.15k+ Safari 8.0 iPhone iOS 8.3

                      @郑永 不会吧?有空我也下载个测试测试。

                      2016.08.12 22:10 # 回复
                    • 老杨2.15k+ QQbrowser iPhone iOS 8.3

                      @郑永 iOS 8 下,QQ 浏览器没有问题…

                      2016.08.12 22:38 # 回复
                      • 郑永120 WebView 4.0 Android 6.0.1

                        @老杨 上班地方的电脑win10显示的效果。

                        2016.08.13 10:45 # 回复
                        • 郑永120 Google Chrome 47.0.2526.80 Windows 10

                          @郑永 win10 qq浏览器还真无法显示正常字体。

                          2016.08.13 21:33 # 回复
                          • 老杨2.15k+ Firefox 48.0 Windows 10 x64 Edition

                            @郑永 特意安装了一个试试,确实会有字体很大的情况出现。可是有时候刷新一下就正常了,有时候又不正常……所以,无解……找麻花腾吧,无能为力。

                            2016.08.13 23:34 # 回复
                          • 老杨2.15k+ Firefox 48.0 Windows 10 x64 Edition

                            @郑永 试了一下同样 Chromium 内核的遨游浏览器,也会有这样的情况,不过刷新一下就好了。

                            2016.08.13 23:44 # 回复
                            • 郑永120 WebView 4.0 Android 6.0.1

                              @老杨 改一下吧

                              2016.08.14 00:27 # 回复
                              • 老杨2.15k+ Firefox 48.0 Windows 10 x64 Edition

                                @郑永 放过我吧,搜索 Chromium 出来的都是 Chrome 的内容,而 Chrome 下是没有问题的,加上连 IE 下都能正常显示,实在没动力去折腾。

                                2016.08.14 08:15 # 回复
                                • 郑永120 WebView 4.0 Android 6.0.1

                                  @老杨 你的折腾出了名的,加油。

                                  2016.08.14 08:49 # 回复
                                  • 老杨2.15k+ Firefox 47.0 Windows XP

                                    @郑永 这个不折腾,显示不正常的页面,我打开一下调试页面就正常了,或者刷新一下就正常了;然后再刷新一下又不正常了,很明显,这是随机的问题,我是无能为力了。

                                    2016.08.14 09:30 # 回复

发表留言