在 CentOS VPS 服务器上用 VestaCP 搭建支持 Joomla 的 web 环境

2018-11-22 12:59:25

server

很多站长正在从“虚拟主机”转向 VPS/云主机,以期获得更佳的服务器硬件配置,以及更自由的设置权限(例如:国内很多虚拟主机都不提供 PHP 7,但是你想让 Joomla 网站运行如飞,没有 PHP7 是不行的)。VPS 服务器一般只有一个“裸机”,没有操作系统,更不提供 Web 环境,无法像虚拟主机那样一旦购买就开始连接 FTP 然后上传安装包。VPS 需要站长自己来搭建 web 环境。

搭建 web 环境的方式有很多种,最原始的“手工安装 LAMP”对新手来说太费劲了,我不推荐。我们提倡使用“集成包式 web 控制面板”,目前名气比较大的如 cPanel,Plesk,DirectAdmin,这三个都是收费的,一般小网站还是不要考虑了。免费的 web 控制面板也有很多,其中比较热门的例如 Webmin,ISPconfig,ZPanel,Kloxo-MR,VestaCP,VirtualMin 等等,这些是国外的;国内的免费面板有 AMH,WDCP,LuManager 等。这么多名字是不是都看晕了?新手哪有时间一个一个去试?你最想问的是“到底哪个免费 web 控制面板最好?”,那么 Joomla之门 可以负责任地告诉你:VestaCP 是我用过的(上述免费的我基本上都试用了一遍)免费 web 面板里面最好的!最好的!最好的!(重要的事说三遍)。

 

 

 

VestaCP web panel

VestaCP web panel

 

 

本文来简单介绍一下在 CentOS 操作系统上快速搭建 VestaCP web 环境的操作步骤。

第一步:购买 VPS,  并通过终端连接

1、选择一家比较好的 VPS 提供商

现在的 VPS/云主机 也是满天飞了,到底哪一家最好?由于本人没有逐个试用过,所以不敢妄下结论,但是个人认为选择 VPS 主要看这么两点: 1)实力雄厚  2)性价比高 。如果你没什么“特别”需求,我推荐郑州景安快云VPS。景安云主机比阿里云 ECS 要便宜一些,同价位前提下配置更高,速度更快。那么我说的“特别需求”是指什么?比如你需要用到“防盗链的直链网盘”,那么景安目前没有这个产品,而阿里云有一个开放存储 OSS,能做到“白名单防盗链”。但是 OSS 规定只允许 ECS 用户使用(阿里云是不是有点强制捆绑消费?),所以,在这种情况下,只能选阿里云。(恩,你会说七牛CDN 免费几个GB的云存储,但是那个恶心的“无文件夹式平铺储存”还是别提了吧)

对于 VPS 的硬件配置级别,建议(土豪请随意):

购买成功之后,主机商会告诉你,你买的 VPS 拥有一个独立 IP 地址,请牢记这个 IP 地址,后面要用到。

考虑到域名解析到 IP 地址需要一段时间,最长可达 24小时,因此,建议在得到 IP 地址之后,尽快将你的网站域名解析到这个 IP 地址(如果涉及备案,请尽快完成备案)。

2、给 VPS 安装操作系统(OS)

你可以把 VPS 看作是你自己专用的一台“台式机”,只不过是放在别人机房里,你可以远程操作罢了。那么这个主机一开始是空白的(硬盘上什么都没有),所以首先需要安装操作系统。这个过程很快,因为云服务器提供商一般都提供了操作系统的“镜像”,让你选一种,然后点击“安装”,几分钟就搞定了。一般都会提供 windows 系列跟 Linux 系列各自几种操作系统供选择。Joomla之门强烈建议选择 Linux 系列的 CentOS 7 64-bit

安装操作系统之前,在主机商那个管理页面上会让你给 root 用户(Linux 操作系统的超级管理员)设置一个密码,请设置比较复杂的密码并牢记,后面要用到。

3、通过终端访问 VPS

主题:以下操作假设你的 PC 个人电脑是 Windows 操作系统,如果你是 Linux 用户,我想你比我更了解 VPS 的远程控制,你可以关闭本文节省时间了。

由于 VPS 是远程主机,你在自己电脑上要操作它,就需要先建立“远程连接访问”,这个操作需要通过“终端”(Terminal)软件来进行。你可能会搜索到很多人说什么 SecureCRT 最好用,Putty 最安全,但是我推荐的终端软件是 Xshell 。这个软件对个人用户是免费的,而且是全中文界面,非常好用。我下面的操作都是针对 Xshell 来演示,所以最好按照我说的用 Xshell 操作,免得没法“重现”我的操作过程。如果官方网站英文界面不习惯,可以点此直接下载 Xshell 5(可能不是最新版)。

在 Windows PC 上安装好 Xshell 并运行,其初始界面如下:

 

Xshell 初始界面

Xshell 初始界面  

 

 

点击上图中的“新建”按钮来创建一个新会话(把 VPS 访问账号记忆在软件里面方便自动登录),点击之后的界面如下: 

 

 

在 Xshell 中添加新会话:主机名及 IP 地址

在 Xshell 中添加新会话:主机名及 IP 地址

 

 

请按照图中红线标注,先填写一个“名称”(方便自己识别是哪个 VPS,可以自由写名字),在“主机”这里填写 IP 地址(VPS 主机专用的那个)。然后点击红色箭头所指的“用户身份验证”,看到如下画面: 

 

 

在 Xshell 中添加新会话:用户名及密码

在 Xshell 中添加新会话:用户名及密码

 

 

在这个界面上,“用户名”填写 root, “密码”填写你自己刚才设置的密码。

Linux 高手可能会说:别用 root 来做一般管理工作,需要新建一个用户……blabla ,但是,我们这个教程不是 Linux 高级教程,只是想让普通人快速学会如何在 CentOS 上面搭建一个 web 面板,就不用引申到“如何创建一个新用户”了。设置一个复杂的密码、不在公共网络环境下登录终端、PC 上面安装好杀毒软件及防火墙,做好这些也很安全了。设置好之后,点击“确定”,就能看到新建的会话被保存到列表上了:  

 

 

在 Xshell 中连接新主机

在 Xshell 中连接新主机  

 

 

 

选中刚刚创建的“阿里云1号”主机,点击图中所示的“连接”按钮,接下来会询问你是否保存密钥,为了安全我这里不做截图,你届时点击“接受并保存”即可,然后就能看到连接成功的画面是这样的: 

 

 

 

在 xshell 中通过 SSH 成功连接到 VPS 主机

在 xshell 中通过 SSH 成功连接到 VPS 主机  

 

 

请注意最后一行,方括号里面是主机路径,方括号后面永远都有一个井字符(#),这个就是 CentOS 操作系统的命令行提示符。后面那个绿色的方块就是“光标”,提示在这里输入命令。如果你能看到这个画面,恭喜你,你已经成功了一半!只要能通过 SSH 连接上 VPS 主机,我们就能远程执行各种命令,包括下面安装 web 面板的过程。 

第二步:更新 CentOS 操作系统并安装常用工具

一般来说,主机商提供的操作系统“镜像”很可能不是最新的,因为像 CentOS 这种开源软件,几乎每天都有新代码产生,可能每周都有不同程度的更新。所以,我们取得 VPS 的远程控制权之后,第一件事情就是做一点“整理工作”,总的来说其实就是两个字“更新”。

注意:以下命令凡是以井字符开头,表示直接输入的命令(开头的井字符本身不需要输入)。

如果你对 Linux 系统不熟悉,完全可以直接从本页面复制(只复制每行命令井字符号后面的部分),然后在 Xshell 工具栏上点击“粘贴”按钮(不支持鼠标右键粘贴),将命令粘贴到 xshell 的命令提示符后面,然后回车,就能开始执行了。

1、更新系统

# yum update -y 

如果你的网速够快,可能几分钟就完成更新了。整个过程都是自动的,你只需静静等待即可。

 2、上面这个命令执行完毕之后,我们来安装一些常用的工具:

 # yum install vim wget -y 

这个命令实际上安装了两个工具,中间用空格分隔。  

如果上面两步都成功,我们就进入下面核心环节:

第三步:安装 VestaCP

VestaCP 整个安装过程都是“远程在线安装”,因此不需要你下载什么安装包到 PC 然后再上传。只需要简单两行命令就行:

首先进入临时目录:

# cd /tmp

接下来将 VestaCP 安装脚本下载到 VPS 上:

# curl -O http://vestacp.com/pub/vst-install.sh

然后执行安装命令:

# bash vst-install.sh

执行这个命令之后,会看到如下画面:

VestaCP 安装开始画面

VestaCP 安装开始画面

 

可以看到,这个画面最顶部是由字符组成的字符画“VESTA",然后是 Vesta Control Panel 的名字。下面列出了即将安装的软件名称,包括:

Following software will be installed on your system:
   - Nginx Web Server
   - Apache Web Server (as backend)
   - Bind DNS Server
   - Exim mail server + Antivirus Antispam
   - Dovecot POP3/IMAP Server
   - MariaDB Database Server
   - Vsftpd FTP Server
   - Iptables Firewall + Fail2Ban

其中不仅有 Apache + NginX 这样的强强联合 web 服务器,还有 DNS  服务器,还有邮件服务器(再也不怕 PHP Mail 方式无法发送激活邮件了),还有 FTP 服务器,还有 IPtables 防火墙,等等,真的很全面。这些如果让你一样一样自己来安装、配置,恐怕要累死,现在都是自动安装的了。

接下来进入自动安装过程。这个过程很漫长,如果网速慢,可能需要30分钟甚至1小时,百兆宽带的用户可能15分钟左右就完成了。

你可以去泡杯咖啡犒劳一下自己,顺便活动活动筋骨,看着屏幕上哗哗哗的字符滚动安装,心情是不是美了美了?

在这个等待过程中,我可不可以插播一条广告:对于时间宝贵不想自己安装 VPS web 环境的用户,Joomla之门 可以提供收费服务。

在整个安装过程中,下载杀毒软件病毒定义库( Downloading main.cvd 及 Downloading daily.cld)的过程是最耗时的。不过,当你看到这个步骤,说明 VestaCP 的安装过程也快结束了。

等 Xshell 窗口中显示出如下画面并以命令行提示符作为最后一行结尾,就表示 VestaCP 安装成功了:

 

Congratulations, you have just successfully installed Vesta Control Panel

    https://192.168.1.3:8083
    username: admin
    password: HeJD9i5bsE

We hope that you enjoy your installation of Vesta. Please feel free to contact us anytime if you have any questions.
Thank you.

--
Sincerely yours
vestacp.com team

[root@localhost tmp]# 

 

这里显示的是管理员账号及面板登录入口网址,请把上述信息从 Xshell 窗口中复制下来并保存好。

 

VestaCP web 面板安装完成

VestaCP web 面板安装完成

 

你注意到上面这个网址是以 https 开头吗?这就表示 VestaCP 默认支持 SSL 加密,并已自动为你的 web 控制面板启用了 HTTPS 访问。

Xshell 窗口末尾既然显示了命令行提示符,就说明我们可以输入其它命令了。所以我们继续:

第四步:对 VestaCP 进行简单优化

VestaCP 有一个先天缺陷:它默认将杀毒软件 ClamAV 的执行目录所有者指派给 root 用户,导致该软件的可执行程序 clamd 运行时(杀毒软件一直在运行)对 CPU 的占用率特别高,最高可达 99%。如果不解决这个问题,那么服务器的 CPU 一直工作在 99% 占用率下,基本上什么操作也做不了。处理方案如下:

在 CentOS 命令行输入:

# vim /lib/systemd/system/clamd.service

打开的文件内容很简单,其中第5行至第9行内容如下:

[Service]
Type = simple
ExecStart = /usr/sbin/clamd -c /etc/clamd.conf --nofork=yes
Restart = on-failure
PrivateTmp = true

 

在第7行这里插入两行(使用键盘上的箭头移动光标到该行,然后按键盘上小写字母 i,进入编辑模式),变成:

[Service]
Type = simple
ExecStartPre = /usr/bin/mkdir -p /var/run/clamav
ExecStartPre = /usr/bin/chown -R clam.clam /var/run/clamav
ExecStart = /usr/sbin/clamd -c /etc/clamd.conf --nofork=yes
Restart = on-failure
PrivateTmp = true

 

为了避免输入手误出错,你可以从这里复制,然后在 xshell 里面先删除原来那一行代码,然后粘贴新的进去(现在知道我为什么这么喜欢 xshell  了吧)。

编辑完成,按键盘左上角的 Esc 退出编辑模式,然后按下键盘上的英文冒号(别忘了按住 Shift 键),屏幕底部会出现一个英文冒号,等待输入命令。输入两个小写字母

 : wq    

然后按回车,就能自动保存文件并退出编辑器。再次回到了 CentOS 的命令行状态。 

为了使其生效,重启服务器:

# reboot

服务器重新启动之后,Xshell 不能自动重新连接。因此,需要手工点击工具栏上的“重新连接”按钮(从左至右第4个)。如果该按钮失活,可以点击 Xshell 菜单上的“文件 -> 打开”,就能看到会话列表,选择我们的主机,点击连接按钮即可。连接成功之后,再次看到了熟悉的命令行提示符。

第五步:安装 PHP 7.0

接下来我们了解一下,VestaCP 到底给我们安装了哪些版本的 web 程序(我们最关心 PHP 7 对不对)。在命令行依次执行下列命令:

# nginx -v
# httpd -v
# php -v
# mysql -V

请注意:最后一个 mysql 版本查询的参数是大写字母 V,前面几个都是小写字母 v。

执行上述命令之后,依次可知安装了 Nginx 1.10.0,Apache 2.4.6,PHP 5.4.45(更新:最新版本的 VestaCP v0.98-16 版本默认安装的是 PHP 5.6.26),还有 MariaDB 5.5.47(MariaDB 是 MySQL 数据库的分支,功能基本一致且更强大)。

说好的 PHP7 呢?

这里要解释一下:VestaCP 并不能自己决定安装什么版本的 web 程序,这些都是由操作系统,也就是 CentOS 官方决定的。由于 CentOS 面向全世界用户,所以官方定这个版本标准的时候,必须兼顾所有人的需求。因此默认只能安装最高到 PHP 5.4.45 。

有些人在网上给出了通过 remi 源来将 PHP 升级到 5.5 或者 5.6 甚至 7.0 的方法,这些都不可取!Joomla 之门郑重提醒:对 CentOS 默认的版本不要去动它。我们完全可以借助 VestaCP 官方给出的改进方案,添加多个 PHP 版本,使得服务器可以自由切换 PHP 版本 —— 这比单纯提供一种 PHP7 是不是更灵活?

作者注:下面提到的这个“PHP 多版本方案”在最新版的 VestaCP v0.98-16 上面无法工作。请勿使用! 同时请注意,能够实现“多版本 PHP 共存”的方案很多,但都不属于 VestaCP 官方方案,请慎用。目前官方已经在着手开发自己的方案,在未成熟之前,请慎重选择其它第三方方案。如果你像我一样,不是 Linux 专家,请跳过这一步直接使用 VestaCP 默认安装的 PHP 版本就行了。

下面来安装 Multiple PHP Version Selector for VestaCP(PHP 多版本选择器),仍然是在 CentOS 命令行,依次执行下面3个命令:

# cd /tmp
# wget http://mirror.skamasle.com/vestacp/PHP/sk-phpinstaller_beta02_3.sh
# bash sk-phpinstaller_beta02_3.sh

这个安装程序将自动探测服务器上已安装的 PHP 版本,它总共可安装 5.4, 5.5, 5.6 及 7.0 四个版本,由于我们已有 5.4,因此会跳过 5.4 版本,直接从 5.5 开始。由于软件较多,安装可能需要一段时间,耐心等待。

安装结束,最后的消息是:

PHP 7.0 Ready!
################################
Aditional PHP versión installed!
More info on skamasle.com or vestacp forums.
[root@localhost tmp]# 

 

这就提示 PHP 7.0 安装成功了。

 

PHP7 的 php.ini 在哪里?

对于 CentOS 7,VestaCP 默认安装的 PHP 5.4.45 其配置文件是 /etc/php.ini ,但是我们通过 skamasle.com 的脚本安装了多个 PHP 版本之后,这些 PHP 5.5 / 5.6 / 7.0 各自的 php.ini 配置文件又在哪里呢?

与其死板地记忆这些文件的路径,不如直接告诉你一个最快捷的方法:

当你已经安装好 Joomla 之后,进入 Joomla 3 后台,点击顶部菜单“系统 -> 系统信息”,然后在打开的页面上点击“ PHP 信息 ” 这个标签页,这里就看到很多的 PHP 配置信息。在页面开头部分就有这么一行:

 

Loaded Configuration File /etc/opt/remi/php70/php.ini

 

这就是你网站当前所使用的 PHP 配置文件(如下面屏幕截图所示)。

 

在 Joomla 后台查看 php.ini 配置文件的路径

在 Joomla 后台查看 php.ini 配置文件的路径

 

如果你在 VestaCP 控制面板上将网站的 PHP 版本切换成其他版本,那么这个页面上的配置文件路径也会相应改变。因此,我们永远可以在这里看到“当前”正在使用的 php.ini 路径。

找到了配置文件,你就可以在 Xshell 命令行模式下,通过 VIM 或者 Nano 编辑器来修改里面的一些配置了,例如更改  upload_max_filesize 的值,就可以破解默认 2MB 的限制导致较大文件无法安装的困境。

 

新的问题来了:如果你的网站还未开始安装 Joomla,这时候就想要修改 php.ini ,如何知道其路径?

很简单,你可以立即进入当前网站的根目录,然后手工创建这么一个文件。例如(以 gate.com 这个域名为例):

#  cd /home/admin/web/gate.com/public_html 

# vim phpinfo.php

然后直接复制下面的代码,粘贴到 vim 编辑器窗口中:

粘贴完毕仔细检查一下,别漏掉任何一个字符,而且注意开头的小于号符号必须顶着第一行、第一列插入,不能有空格或空行在前面。

然后保存该文件。

接下来,你可以通过浏览器直接访问该文件:  http://www.gate.com/phpinfo.php ,这样也就看到了上面截图所示的 PHP 信息了。

第六步:进入 VestaCP 并汉化界面

在命令行捣鼓了这么久,是不是有点着急了?现在我们可以用浏览器进入图形界面来操作了。

把上面提供的网址输入到浏览器地址栏,打开(如果浏览器提示安全证书什么的,点击“继续访问”或者“仍然访问”之类)后的页面是这样的:

 

VestaCP web 面板登录界面

VestaCP web 面板登录界面

 

 

这个画面比刚才乌漆墨黑的命令行模式是不是好看多了?心情一下子激动了有木有? 

输入之前我们从屏幕上复制来的管理员账号,登录进去,看到如下画面:

 

VestaCP 首次登录是英文界面

VestaCP 首次登录是英文界面  噢,还是默认的英文语言界面。我们切换到中文: 点击页面右上角“admin”这个用户名,进入用户参数页面,向下滚动一点,找到 Language 这一项,在选单中选择 cn ,然后点击最底部的 Save 按钮。点击之后立即就生效了: 

VestaCP 切换到中文界面

VestaCP 切换到中文界面  接下来我们就创建 web 空间及 FTP 账号,还有 MySQL 数据库。  

 

第七步:在 VestaCP 中添加网站账号

1、添加域名

点击 VestaCP 顶部菜单的“网站管理”,可以看到目前只有一个 localhost 默认网站:

 

VestaCP 网站管理界面

VestaCP 网站管理界面 新建按钮在哪里?请注意看上图中我用红色箭头所指的绿色加号,点击它,就能开始添加新网站:  

VestaCP 添加新网站

VestaCP 添加新网站 基本上,填写“域名”就可以了(填写时不带 www)。不过,由于默认使用 PHP 默认版本(5.4.45),我们为了切换到 PHP 7,必须在“高级选项”里面操作。点击“高级选项”,找到 “Web模板  HTTPD”这个选项,选择为 sk-php70,然后点击“增加”按钮。

 

 

2、添加数据库

接下来点击顶部菜单“数据库”,在数据库管理界面上,同样点击左上角的绿色加号,添加新的数据库。

在添加新数据库时,只需要填写3个项目:

请注意:有些人比较懒,这三项竟然使用同一个字串,这是很不安全的。请使用别人无法猜到的复杂字串(大小写混编)。

3、添加 FTP 账号

实际上,用来登录 VestaCP 的那个 admin 账号,同时也是一个 FTP 账号。如果你只需要一个 FTP 账号,就不需要再添加别的用户了。

如果需要多个 FTP 账号,在哪里添加呢?顶部菜单上似乎没有“FTP 账号管理”这个选项。这个是在“网站管理”里面进行的。

回到“网站管理”,鼠标指向具体的某个网站,就会在右上方浮现一个工具栏,点击“修改”按钮。然后滚动到页面最底部,有一个“其他FTP账户”勾选框,选中之后就能添加更多 FTP 账号。本文不赘述此功能。

 

第八步:开始安装 Joomla 网站

等域名解析生效之后,在浏览器中访问你的域名,就会看到(我的示范过程以 gate.com 域名为例):

 

VestaCP 新增网站的默认页面

VestaCP 新增网站的默认页面

 

这个默认页面是由 VestaCP 根据你填写的域名自动生成的。当你真正搭建自己的网站内容时,就会覆盖这个默认页面。能看到这个默认页面,说明一切就绪了。我们来安装 Joomla 。

打开 FTP 软件,登录地址填写你的 IP 地址,用户账号使用前面 VestaCP 生成的 admin 用户名及其密码,就能登录 FTP 。

然后进入 web 目录,找到网站域名,依次进入,最终到达 public_html 目录,这是网站的根目录。我们必须把 Joomla 安装包上传到这里。

进入 public_html 目录,发现已有两个文件存在:index.html 和 robots.txt 。前一个就是那个默认页面的内容,后一个是给搜索引擎爬虫准备的。由于 Joomla 核心已经自带 robots.txt,因此这两个文件我们都不需要。把它们全部删除,使 public_html 目录变成完全空的。

现在,把 Joomla 3.5.1 核心安装包 上传到 public_html 目录下。接下来,我们需要将 zip 格式的文件解压缩 —— 等等,似乎在 VestaCP 面板上没有看到其它控制面板常见的“文件管理器”(File Manager)?这是因为 VestaCP 官方把文件管理器作为收费插件销售,我们安装的免费版本是没有这个功能的。不过,可以通过 Xshell 远程登录 CentOS ,然后使用命令行来进行解压。在此例中,用户是 admin, 域名是 gate.com,那么对应的网站目录在 CentOS 里面的路径是: /home/admin/web/gate.com/public_html 。

我们可以通过 Xshell 命令行进入这个目录:

# cd /home/admin/web/gate.com/public_html  

然后通过 ls 命令查看文件列表:

# ls

如果能看到刚才上传的 Joomla 核心安装包,就开始解压它,命令格式示范:

# unzip Joomla_core-v3.5.1-chinese.zip

解压完毕之后,再次回到浏览器窗口,输入你的域名,应该就能看到熟悉的安装画面了。在安装过程中,需要输入数据库连接账号,就用之前在 VestaCP 里面创建的数据库账号来填写。

剩下的步骤,请参看 Joomla 3 核心安装教程。相信这对你来说已经很简单了。

至此,我们完成了在 VPS 上面安装 CentOS 操作系统、进而安装 VestaCP 控制面板、安装 PHP7、创建网站账号,最后开始安装 Joomla 网站。

一切就绪,如果要退出 Xshell 远程访问,请先使用 logout 命令退出登录,然后用 Exit 退出 Xshell:

# logout

# exit

后记:

这个教程在你眼里或许普普通通,整个操作过程如果在网速快的情况下大概半小时也就结束了。但是为了摸索这个过程,Joomla之门测试了差不多半年时间,期间更换不同的 VPS 平台,更换不同的 OS ,也更换不同的 web 面板程序。最终我们认为 VestaCP 功能强大、操作简单,今天总结成教程奉献给大家。

mysql php html server windows Excel Word Linux CAD

首页  返回列表

本站所有资料均来自网络,若有侵权请联系本站删除!粤ICP备18142546号