那里有许多博客服务,例如SquareSpace或Automattic自己的WordPress.com 。 但是,没有任何一种软件会给您带来与设置和运行您自己的博客一样的灵活性或满意度,以及确切地知道如何使用您的数据。 因此,让我们创建一个! 本文将引导您完成使用IBM SoftLayer虚拟服务器在云中安装和配置自己的WordPress博客的步骤。
设置虚拟服务器
步骤1.获取SoftLayer
通过单击此按钮来注册IBM SoftLayer的免费为期一个月的试用版:
步骤2.登录到SoftLayer
批准SoftLayer免费试用后,您将收到一封电子邮件,其中包含有关如何登录SoftLayer控制面板的信息。 SoftLayer将已经为您启动服务器并开始运行,因此您要做的就是登录并开始配置系统。
图1. SoftLayer登录面板
使用虚拟服务器的最常见方法是使用SSH通过命令行。 如果您使用的是Microsoft Windows PC,则需要使用SSH客户端,例如PuTTY 。 如果您使用的是Mac或Linux系统,只需打开一个终端即可。 SSH客户端可能已经安装。 对于以下示例,我假设您正在使用终端。 确保使用您的公共IP地址代替所示的184.173.139.186
。
$ ssh root@184.173.139.186
root@184.173.139.186's password:
输入密码并按Enter后,您现在应该登录到虚拟服务器,并看到类似以下内容:
Welcome to Ubuntu 12.04.4 LTS (GNU/Linux 3.2.0-61-virtual x86_64)
* Documentation:https://help.ubuntu.com/
root@bahamut:~# $
步骤3.配置用户
尽管您的服务器现在已经启动并可以在Internet上运行,但是在安装软件之前您应该设置一些注意事项。
- 为自己创建一个管理员用户ID,这样您就不必继续使用root用户。 我为自己创建了用户ID jstapels 。
root@bahamut:~# groupadd admin root@bahamut:~# useradd -m -G admin -s /bin/bash jstapels root@bahamut:~# passwd jstapels Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully
- 接下来,以您刚刚创建的用户身份登录以确保它可以按预期工作。
root@bahamut:~# exit logout Connection to 184.173.139.186 closed. $ ssh jstapels@184.173.139.186 jstapels@184.173.139.186's password: Welcome to Ubuntu 12.04.4 LTS (GNU/Linux 3.2.0-61-virtual x86_64) jstapels@bahamut:~$
-
现在您已经拥有了自己的用户ID,应该使用它来进行所有修改,这将通过sudo命令完成。 您还应该禁用root用户,以帮助保护服务器免受试图远程登录并尝试利用系统的恶意机器人的攻击。
注意:从这里开始,您将需要偶尔编辑配置文件。 我建议学习如何使用GNU nano或古老的Vi / Vim编辑器。
sudo
命令用于访问受限制的“超级用户”命令和文件。 有时会要求您输入密码。 确保使用为新用户创建的密码。 进入编辑器后,如下所示修改身份验证:jstapels@bahamut:~$ sudo vi /etc/ssh/sshd_config [sudo] password for jstapels: # Authentication: LoginGraceTime 120 PermitRootLogin no # Make this setting a no to prevent root logins StrictModes yes
- 最后,重新启动SSH服务器以确保已应用更改。
jstapels@bahamut:~$ sudo restart ssh
步骤4.配置时区并更新系统
您还需要配置服务器的时区设置,以使时间戳正确。 您可以将时区配置为所需的任何内容,而不必配置服务器所在的地理位置。
jstapels@bahamut:~$ sudo dpkg-reconfigure tzdata
<use the keyboard to select your timezone>
Current default time zone: 'America/New_York'
Local time is now: Thu May 29 10:07:47 EDT 2014.
Universal Time is now: Thu May 29 14:07:47 UTC 2014.
在安装软件之前,我们要做的最后一件事就是确保操作系统是最新的。
jstapels@bahamut:~$ sudo apt-get update
jstapels@bahamut:~$ sudo apt-get -y dist-upgrade
您的系统现在可以安装软件了!
安装软件
安装MariaDB
大多数Web应用程序都需要一个数据库来保存设置和用户数据。 在本教程中,我们将使用MariaDB数据库服务器。 我们还将建立官方的MariaDB存储库,以确保获得最新更新。 这是安装命令:
jstapels@bahamut:~$ sudo apt-get -y install python-software-properties
jstapels@bahamut:~$ sudo apt-key adv --recv-keys --keyserver \
hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
jstapels@bahamut:~$ sudo add-apt-repository \
'deb http://mirror.jmu.edu/pub/mariadb/repo/5.5/ubuntu precise main'
jstapels@bahamut:~$ sudo apt-get update
jstapels@bahamut:~$ sudo apt-get install -y mariadb-server
在安装过程中,系统将提示您输入新密码。 该密码将成为您的“ root”数据库密码。 请妥善保管,以备日后建立新数据库时使用。
注意:在撰写本文时,软件包的安装顺序存在问题,因此您可能会看到由于尚未配置软件包而导致的相关性问题的错误。 如果是这样,请尝试重新运行安装例程。 此过程为我解决了这个问题。
jstapels@bahamut:~$ sudo apt-get install
安装Memcached
我们还将安装Memcached ,这是另一种类似于MariaDB的数据库。 Memcached是一种高性能的内存中对象缓存系统。 我们将使用它来缓存PHP会话数据,但它也可用于PHP应用程序。
- 使用以下命令安装Memcached:
jstapels@bahamut:~$ sudo apt-get install memcached
- 更新配置,使其在本地UNIX套接字而不是Internet套接字上侦听。 这种更改使其速度更快,更安全。
jstapels@bahamut:~$ sudo vi /etc/memcached.conf #-p 11211 # comment out this line #-l 127.0.0.1 # and this one # Add the following two lines -s /tmp/memcached.sock -a 666
- 最后,重新启动Memcached守护程序以获取新设置。
jstapels@bahamut:~$ sudo /etc/init.d/memcached restart
安装Apache和PHP5
接下来是安装HTTP服务器。
-
Apache是一个流行的选择,大多数应用程序都可以直接使用它。 它还提供了一个名为mod_rewrite的不错的模块,可用于设置搜索友好的URL。 WordPress可以利用此优势使您的网站URL看起来更好。
与Apache一起,我们还将使用FastCGI安装PHP5。 这将使PHP可以轻松地以其自己的用户身份运行,从而在有人试图入侵您的虚拟服务器时提供了另一层安全性。
jstapels@bahamut:~$ sudo add-apt-repository ppa:ondrej/apache2 jstapels@bahamut:~$ sudo add-apt-repository ppa:ondrej/php5 jstapels@bahamut:~$ sudo apt-get update jstapels@bahamut:~$ sudo apt-get install -y apache2 libapache2-mod-fastcgi jstapels@bahamut:~$ sudo apt-get install -y php5-fpm php5-cli php5-apcu php5-mysql php5-mcrypt jstapels@bahamut:~$ sudo apt-get install -y php5-gd php5-curl php5-memcache jstapels@bahamut:~$ sudo a2enmod fastcgi actions
- 现在,我们需要使用FastCGI模块配置Apache以利用PHP。
jstapels@bahamut:~$ sudo vi /etc/apache2/conf-available/php5-fastcgi.conf # Add the following content to the new file. # PHP5 FastCGI Conf <IfModule mod_fastcgi.c> Alias /php5.fastcgi /var/www/fastcgi/php5.fastcgi AddHandler php-script .php FastCGIExternalServer /var/www/fastcgi/php5.fastcgi -socket /var/run/php5-fpm.sock Action php-script /php5.fastcgi virtual # This part is not necessary to get it to work, but it stops anything else # from being accessed from it by mistake or maliciously. <Directory "/var/www/fastcgi"> Order allow,deny <Files "php5.fastcgi"> Order deny,allow </Files> </Directory> </IfModule> jstapels@bahamut:~$ sudo mkdir /var/www/fastcgi jstapels@bahamut:~$ sudo chown www-data:www-data /var/www/fastcgi jstapels@bahamut:~$ sudo a2enconf php5-fastcgi
- 接下来,我们将通过配置一些设置来优化PHP。 修改
php.ini
文件并更新以下三个设置。 删除任何分号以确保没有注释掉。jstapels@bahamut:~$ sudo vi /etc/php5/fpm/php.ini ; Search for and update the following three settings: mysql.default_socket = /var/run/mysqld/mysqld.sock session.save_handler = memcache session.save_path = unix:/tmp/memcached.sock
- 最后,我们将重新启动PHP和Apache,以确保它们使用更新的配置。
jstapels@bahamut:~$ sudo service php5-fpm restart jstapels@bahamut:~$ sudo service apache2 restart
设置外发邮件
在安装WordPress之前要设置的最后一项服务是外发邮件服务。 此服务将允许您的虚拟服务器上的应用程序向您发送电子邮件。 而不是设置完整的sendmail服务器,我们将利用msmtp的优势。 这是一个与现有邮件服务一起使用的简单应用程序。 幸运的是,SoftLayer通过与SendGrid的合作关系提供电子邮件服务,而对于低电子邮件量,它是免费的!
- 为了进行此设置,请在“ SoftLayer 服务”菜单上选择“ 电子邮件传递 ”。 接下来,单击网站右上角的“ 订购电子邮件传递服务”链接。 选择免费软件包,然后输入您想要的电子邮件地址。
图2.电子邮件注册和帐户信息
- 确认您的电子邮件包后,安装并设置msmtp。
jstapels@bahamut:~$ sudo apt-get install -y msmtp
- 接下来,使用您的SMTP服务器和身份验证信息创建配置。
jstapels@bahamut:/etc$ sudo vi /etc/msmtprc # Add the following to the new configuration file account default tls on tls_trust_file /etc/ssl/certs/ca-certificates.crt # SMTP settings host smtp.sendgrid.com auth on user admin@bahamut.realmprojects.com password thePassword # envelope from auto_from on maildomain bahamut.realmprojects.com syslog LOG_MAIL
- 最后,将PHP配置为使用新的邮件设置,再次更新
php.ini
文件,然后重新启动PHP服务。jstapels@bahamut:/etc$ sudo vi /etc/php5/fpm/php.ini ; Find, uncomment, and set the sendmail_path setting sendmail_path = "/usr/bin/msmtp -t" jstapels@bahamut:/etc$ sudo service php5-fpm restart
使用SoftLayer提供的SendGrid帐户时,我注意到的一件事是我必须通过SendGrid确认一些设置。 为此,只需使用控制面板中电子邮件帐户上“操作”菜单中的“访问供应商门户”选项即可。
安装WordPress
现在,您的虚拟服务器和所有必需的应用程序已设置完毕,现在该下载并安装WordPress了。
- 我们将从下载最新版本并将其解压缩到
Apache
文件夹开始。jstapels@bahamut:~$ wget http://wordpress.org/latest.tar.gz -O - | sudo tar zxvf - -C /var/www/html jstapels@bahamut:~$ sudo chown -R www-data:www-data /var/www/html/wordpress/
如果一切顺利,您可以通过在浏览器中输入虚拟服务器的公共IP地址,然后输入/ wordpress来访问新的WordPress安装。 因此,对于我的服务器,我去了http://184.173.139.186/wordpress/ 。 现在,系统将提示您使用WordPress安装向导。
- 但是,在继续之前,我们需要为WordPress创建一个数据库来存储数据。 我们将使用mysql命令行客户端来完成此任务。
jstapels@bahamut:/var/www/html$ mysql -u root -p Enter password: <Make sure to enter the database root user password> MariaDB [(none)]> CREATE DATABASE wordpress; MariaDB [(none)]> CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'pickApassword'; MariaDB [(none)]> GRANT ALL PRIVILEGES ON wordpress . * TO 'wpuser'@'localhost'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> exit
因此,我们创建了一个名为wordpress的数据库,一个名为wpuser的用户,并赋予该用户访问数据库的权限。 确保将pickAPassword字段更改为所需的密码。 设置WordPress时,我们将使用此密码。
- 现在返回浏览器中的WordPress设置向导。 单击“ 创建配置文件”按钮,然后单击“开始”按钮。 您将被带到一个面板,您可以在其中输入数据库设置:
图3. WordPress数据库设置
- 如果一切顺利,WordPress将显示“运行安装”按钮。 单击它,系统将提示您有关如何设置WordPress博客的一些问题。 输入网站标题以及您的管理员用户名和密码。
图4. WordPress网站设置
- 使用“ 安装WordPress”按钮提交设置,您的网站现在应该已设置并可以使用。
结论
恭喜,您已经安装了WordPress! 现在,您可以转到与以前相同的WordPress URL来查看您的网站。 对于我来说,这是http://184.173.139.186/wordpress/ 。 要登录,请使用管理URL,对我来说,该URL是http://184.173.139.186/wordpress/wp-admin/ 。 如果您需要帮助或想要查找自定义主题和插件,请务必查看WordPress.org 。
翻译自: https://www.ibm.com/developerworks/cloud/library/cl-softlayer-secure-wordpressblog-trs/index.html