如何在 Linux VPS (Centos 7 OS) 上托管网站

一个完全初学者的成功故事,由经验丰富的 Linux 管理员注释

我们发布了这篇发送给我们的文章,没有任何编辑。然而,我们的一位高级工程师在必要时提供了他们的意见。我们认为这篇文章可能对那些在 Linux VPS 上开始构建网站的客户很有价值。

关于作者:
我喜欢 Linux 的哪些方面?– 企鹅 🙂
我对 Linux 了解多少?– 零
我需要 Linux 提供什么?– 在 Linux VPS

导航上托管我的网站:
步骤 1-7购买 VPS
步骤 8-13设置 VPS
步骤 14-16复制网站文件等

(跳至第 8 步,开始通过 Linux 与您的 VPS “对话”以建立网站)。

1. 购买我的第一个 VPS

在这里订购:https://bandwagonhost.com/cart.php

order6

这是一个自我管理的 VPS。承认。我们开始做吧!

2. 登录我的客户专区

如果成功,请跳至步骤#3。如果遇到困难,请转到联系页面并寻求帮助。

3. 客户区导航

myservices3

转到选项卡“服务”->“我的服务”它显示帐户中所有 VPS 的列表。

kiwicp2

迫不及待地想看看我的新 VPS 正在运行...单击“KiwiVM 控制面板”按钮转到您的 VPS 控制面板。

4. KiwiVM 控制面板初看

好的,如何在这里建立我的网站?只是浏览菜单,对这些 VPS 的东西知之甚少 🙂

kiwicp_empty2

5. KiwiVM 控制面板登录和密码

重要的第一步:更改您的 KiwiVM 控制面板密码(在您注销之前)

cp_pass

如果您像我一样盲目地注销,您现在会看到:

cp_logoff

密码和更多密码...无论如何,我现在从哪里获得服务器 IP?
回答:返回客户区(步骤#2)或快速链接:https ://bandwagonhost.com/clientarea.php

这是IP地址:

ipaddress2

接下来点击“KiwiVM控制面板”按钮进入步骤#3。啊哈,我在这里也看到了我的 IP 地址。

ipaddress

伟大的!现在,我确保将我的 KiwiVM 控制面板密码更改为我在注销之前能记住的密码:)

来自高级 Linux 工程师的评论
严格来说,您不需要设置 KiwiVM 密码。您可以随时使用“客户区”中的“KiwiVM 控制面板”按钮登录 KiwiVM。

为方便起见,您可能需要设置 KiwiVM 密码(这样您无需先登录客户区即可登录 KiwiVM),或与您的同事共享 KiwiVM 登录信息,而无需让他们访问整个客户区。

 

6.安装Centos 7

作为初学者,我在谷歌上搜索我所有的答案。我什至不知道 Centos 7 是什么......笑或哭......他们说安装它以避免我的网站将来出现问题。

来自高级 Linux 工程师的评论
我建议使用 CentOS-7,因为 CentOS-6 EOL(生命周期结束)在 2020 年。

我们更喜欢将 CentOS 用于简单的任务,例如网站托管,因为 CentOS 的更新很少会破坏事情. 根据我们的经验,您可以在 CentOS 机器上设置所有内容,并且多年不碰任何东西(除了操作系统更新)。Ubuntu 或 Debian 操作系统不能这样说,因为这些操作系统并不总是能顺利更新,而且更新周期通常较短。

如果您是经验丰富的 Linux 用户,Ubuntu 和 Debian 都可能是更好的选择,但通常要做好执行更多维护任务的准备。

所以,让我们去做吧。

installcentos

系统开始安装。确保保存显示的 Root 密码。

rootpass_save

Agggrrrr... 这是另一个密码!不确定你,但我已经不知所措和困惑了。
为了避免您对密码感到沮丧,以下是您需要的所有密码的摘要:

7. 您需要记住的所有密码。其中有 3 个:

密码#1。客户区登录和密码
让您进入您的客户区,您可以在其中购买和更新您的所有 VPS 服务:

clientarea myservicearea

它可以在客户区(在您的个人资料下)进行更改。

密码#2。控制面板登录和密码
让您进入您的 VPS 控制面板,您可以在其中管理和“交谈”您的 VPS:

login_kiwivm2 kiwicp_empty

它可以在 KiwiVM 控制面板中更改(在“KiwiVM 密码修改”下)。
提示:使用从客户区自动登录来访问 KiwiVM 控制面板(在客户区,导航到服务 -> 我的服务。单击“KiwiVM 控制面板”按钮)。

密码#3。Root Shell 登录和密码
获取对您的 VPS 的 root 访问权限(“内部访问权限”),您可以在其中与您的 VPS 对话并执行 Linux 命令。

shell_launch shell_pass

它可以在 KiwiVM 控制面板中更改(在“根密码修改”下)。

8. 通过 Root Shell Interactive 与 VPS 对话。登录。

让乐趣开始吧...让我提醒您这是我的第一个 VPS 和 Linux。开始了。Root Shell 是我们发送所有 Linux 命令的地方。Root Shell Interactive 以登录行向我们致意。如何登录?

输入word: root并按 [Enter]

linux_root

在哪里获取密码?

linux_pass

我们在第 6 步中保存了它。否则您可以随时在 KiwiVM 控制面板中再次重置它,如下所示:

modify_rootpass

这是密码修改成功的结果:

cp_passsuccess

现在继续输入。注意,您不能在 Linux 中复制和粘贴任何内容...所以密码是手动输入的(确保尊重大写字母)。此外,当您输入密码时,它不会显示在屏幕上,有点盲目输入.. 完成后,按 [Enter]。因此,在每个命令行之后,按 [Enter]。这是要记住的默认规则。

来自高级 Linux 工程师的评论
缺乏复制+粘贴支持是 Interactive root shell 的限制。我们建议使用Putty(SSH 客户端应用程序)连接到您的 VPS shell,因为 Putty 确实支持复制+粘贴。理想情况下,您应该使用无密码 SSH 身份验证(通过公钥/私钥),尽管对于新手用户来说设置它可能会很棘手。

 

9. 第一次Linux实践(可略过)——在Linux中更改root密码

还记得我们刚才输入的那个尴尬的root密码吗?让我们把它改成更好的。
输入:passwd并按 [Enter]

passwd1

现在输入您的新密码(输入时您不会看到这些字母)。按[Enter],然后根据提示再次输入。再次按 [Enter]。

passwd3

如果成功,您应该看到消息:“passwd:所有身份验证令牌更新成功。”

passwd_ok

做得好!您刚刚完成了您的第一个 Linux 任务!

来自高级 Linux 工程师的评论
请不要设置容易破解的密码,因为这导致黑客活动。一个好的密码有大写/小写字母、数字等。你可能已经听过一百万次了,但这条规则也适用于此。

KiwiVM生成的PS Root密码比较强,没有保存在我们的系统中;如果您不是绝对必须更改它们,请考虑保持原样。

 

10.Linux系统更新

第一件事 - 更新您的系统包。输入:yum update并按 [Enter]

yumupdate

等待并看到大量数据在屏幕上滚动,直到您最终看到类似以下的消息:“Total download size: 100M Is this ok [y/N]:”

linux_yumupdatedone

好问题,怎么能我告诉?希望没问题 🙂 让我们同意,然后说“是”。输入:y并按 [Enter]。在这里它开始下载包... 屏幕如下:

linux_yumupdate2

最后,当它完成更新时,您会看到“完成!”

linux_yumupdatecomplete

现在重新启动系统。键入reboot并按[Enter]

reboot

...现在等待...(直到提示登录),然后再次登录。

11. 安装 Apache、MySQL、PHP 7

即使您可能不知道(就像我一样 🙂 它们的确切用途,但您需要全部安装它们。

11.1。安装 Apache 和 MySQL

输入:yum install httpd mariadb mariadb-server

install_maria

install_yn

好的,熟悉的以“Is this ok [y/d/N]:”结尾的提示符,输入y并按 [Enter]。看到消息:“完成!”

到目前为止,它很有趣!:) 现在启用并启动 Apache:输入 systemctl enable httpd

enable_httpd2

输入systemctl start httpd

start_httpd2

如果没有给出错误或消息,那么一切都很好。否则,您将看到一条错误消息。
现在启用并启动 MySQL:输入 systemctl enable mariadb 输入

enable_maria1

systemctl start mariadb

start_maria1

同样,如果没有给出错误或消息,那么一切都很好。否则,您将看到一条错误消息。

11.2. 安装 PHP 7

输入yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm

yum_remi

收到熟悉的提示。按y和 [Enter]

remi_yn

输入

yum --enablerepo epel --enablerepo remi-php72 安装 php php-cli php-gd php-curl php-mysql php-zip php-xml php-mbstring

yum_repo

收到熟悉的提示。按y

repo_yn

后跟另一个提示。按y

repo_ynmore

接收消息“完成!” 键入systemctl restart httpd

restart_httpd5

完成。

12. 设置 MySQL

12.1. 重要:保护 mysql

必须做以防止黑客攻击......换句话说,它只能响应我的命令,而忽略世界其他地方。
安装编辑器来帮助我们解决这个问题。键入yum install mc

install_mc

y

mc_yn

键入mcedit /etc/my.cnf.d/myconfig.cnf

注意 mcedit 后的空格符号,请参阅下面我的第一次尝试导致错误,然后是第二次正确的。

mc_correct1

在我们登陆的蓝色窗口中,输入

[服务器]
绑定地址=127.0.0.1

myconfig

按 F2 保存,然后按两次 [Esc] 退出

键入systemctl restart mariadb

restart_maria

耶 🙂 到目前为止,我对自己的 Linux 成就感到非常兴奋!

来自高级 Linux 工程师的评论
此时您可能想知道,为什么我们不设置单独的 MySQL 用户?互联网上的每一个 MySQL 指南都会重复创建用户、刷新权限等,这通常会引起相当多的麻烦。然而,在许多情况下,这根本不需要。

此外,它可能会给你一种虚假的安全感。使用强密码创建 MySQL 用户通常是一件好事,但 MySQL 需要考虑更多的攻击点。

从安全的角度来看,在单租户应用程序(VPS 上的单个用户、单个网站等)中,您唯一需要做的就是阻止 MySQL 与整个 Internet 通信,这是通过上面的 myconfig.cfg 文件实现的。一旦完成,与 MySQL 相关的大多数潜在安全问题就变得完全无关紧要了。

请参阅文章底部有关 MySQL 用户和密码的附加评论。

12.2. 创建 Mysql 数据库

键入mysql -e "create database yourdatabasenamehere"

(重要:不要忘记 "")。我的数据库名称叫做 allbrokers。

create_db

完毕。祝贺我自己(和你来到这里)!

13.检查IPtables

输入iptables -L -n

iptables_check

结果:iptables_ok

一切正常。这里不需要做任何额外的事情。您的 VPS 已设置完毕。这结束了要在 Linux 交互面板中完成的工作。

来自高级 Linux 工程师的评论
与流行的看法相反,在单租户 VPS 上设置防火墙规则并不能提供太多保护(除了错误的安全感)。

在多租户环境中仔细设计防火墙规则很重要,但是对于运行单租户环境的新手用户来说,配置 iptables 可能会有所帮助(并且不会破坏任何东西)的情况非常有限。

如果您的 VPS 被黑客入侵,再多的防火墙规则都无法防止滥用。这是因为一旦您的 VPS 被感染,恶意软件就可以完全控制整个操作系统,包括防火墙。我们建议您将精力集中在其他安全方面,例如定期更新您的操作系统和网站脚本,不要使用简单的密码,并且不要在您的 VPS 上运行从可疑来源获得的软件。

此外,尽管这听起来很普通,但请务必让您的家用 PC 完全更新并安装防病毒软件。我们已经看到无数用户在不知情的情况下在他们的 PC 上运行恶意软件,这些恶意软件会连接到您的 VPS 并在他们不知情的情况下感染它。根据我们的经验,仅遵循此建议就可以避免我们的客户经常遇到的至少一半安全问题。

 

14. 将您的网站域指向您的 VPS

为此,我们需要为您的网站域创建“A 记录”。这是在您注册域的地方完成的,例如在您的域注册商处。(“A 记录”会将您的域名指向您的 IP 地址,例如将它们捆绑在一起,以便在 Internet 上请求域名时,名称服务器将知道将其发送到哪个 IP 地址)。我已经通过 Hover.com 注册了我的域。我们去他们的网站吧。

arecset

我们用 * 更改字段(通用)我们用 @ 更改字段(其他注册商可能会将其留空)如果您的 VPS,现在在 IP 字段中添加 IP。在接下来的 15 分钟内(在您的 DNS 记录旁边设置的默认 TTL 时间)在浏览器中转到您的网站以查看 Apache 欢迎页面。这意味着我们已经成功创建了“A 记录”并成功安装了 Apache。

testing123

 

来自高级 Linux 工程师的评论
根据您的域名注册商,DNS 传播可能需要几天时间。如果您在将域名指向您的 VPS 时遇到问题,请联系您的域名注册商,他们将能够指导您完成此过程。此外,您可以简单地使用您的 VPS IP 地址而不是域名来测试您的网站,例如:http:

//11.22.33.44/

您将在浏览器中看到与访问您的域名相同的内容。

 

15. 将您的网站文件加载到您的 VPS

这一定是最令人兴奋的部分。最后!这些文件将被上传到 public_html 文件夹。如何将它们带到那里?通过使用文件管理器。有人建议我尝试以下软件:Far Manager(虽然不是很受欢迎),否则 WinSCP(推荐),否则 FileZilla。

让我们谷歌 WinSCP。它把我们带到这里:https://winscp.net/eng/index.php

我现在正在下载它。现在运行下载的 .exe 文件。使用所有默认预设并单击安装。

winscp_connect

文件协议:SCP
主机名:您的 VPS 的 IP 地址
端口号:在 KiwiVM 的主控件中找到的 SSH 端口(IP 地址所在的同一页面)
用户名:root
密码:您的 Root Shell 密码(我的密码集合中的密码 #3更多)。

如果忘记密码,可以通过 KiwiVM 控制面板中的“Root Password Reset”获取。

登录后,您可以简单地将文件从左侧窗口(您的 PC)拖到右侧窗口(您的 VPS)。

这是一个伟大的成功!恭喜我和大家在 Linux VPS 上设置你的第一个网站!

PS您是否已将您的网站上传到“/root”文件夹?当然,这就是我最初所做的。大写字母的新手。上传网站文件的默认起始位置是:/var/www/html

要测试您的整个 vps 设置是否有效,请在 /var/www/html 文件夹中创建一个名为 index.html 的简单文件并写下“IT WORKS!” 在文件中并保存。然后访问 www.yourwebsitenamehere.com/index.html,您应该会看到“IT WORKS!” 然后你微笑:

来自高级 Linux 工程师的评论
如果您遵循本指南,您可能想知道 MySQL 访问使用什么登录名/密码。登录名是“root”,密码为空。请参阅第 12 节中有关此方法的安全说明。

16. 设置 .htaccess 文件

为了使您的网站正常运行,需要执行此步骤,例如,能够根据需要编写和重写“事物”,而不是显示 404 错误。

键入mcedit /etc/httpd/conf/httpd.conf
滚动找到显示为<Directory /var/www/html>
的部分现在在此部分中,在AllowOverride之后,将单词None替换为单词All

httpd_conf

按 F2 保存此
然后按 [Esc] 2 次退出

重新启动 Apache 以应用更改。

输入systemctl restart httpd

现在应该使您的网站功能齐全。

PPS 如果您的脚本需要将文件写入特定文件夹,但由于某种原因无法访问它(就像我的 Drupal 现在甚至无法开始安装,并且正在请求写入权限)。
要解决此问题,请键入以下命令(必须在将所有网站文件上传到 VPS 服务器后执行):

键入chown -R apache: /var/www

Fixed。

极好的!我终于在 Linux VPS 上建立了自己的网站!

THE END