用linux怎样建立服务器?

用linux怎样建立服务器?,第1张

装上 web 服务器,一般建议 apache ,以及 php 支持,如果还需要数据库的功能,数据库服务器里面的 mysql 部分。
之后就差不多了。默认网站的地址要看实际选择的系统了,安装方法也要看你的选择的系统。
大部分 Linux 都可以直接安装这些程序,不管是安装盘还是在线软件源里。一般都有。不需要自己从源代码编译的。
而且网上这种文章很多的。

第一步:在 Ubuntu 中安装 VSFTPD 服务器
首先,我们需要更新系统安装包列表,然后像下面这样安装 VSFTPD 二进制包:
$ sudo apt-get update
$ sudo apt-get install vsftpd
一旦安装完成,初始情况下服务被禁用。因此,我们需要手动开启服务,同时,启动它使得在下次开机时能够自动开启服务:
------------- On SystemD -------------
# systemctl start vsftpd
# systemctl enable vsftpd
------------- On SysVInit -------------
# service vsftpd start
# chkconfig --level 35 vsftpd on
接下来,如果你在服务器上启用了 UFW 防火墙(默认情况下不启用),那么需要打开端口 20 和 21 —— FTP 守护进程正在监听它们——从而才能允许从远程机器访问 FTP 服务,然后,像下面这样添加新的防火墙规则:
$ sudo ufw allow 20/tcp
$ sudo ufw allow 21/tcp
$ sudo ufw status
第二步:在 Ubuntu 中配置并保护 VSFTPD 服务器
让我们进行一些配置来设置和保护 FTP 服务器。首先,我们像下面这样创建一个原始配置文件 /etc/vsftpd/vsftpdconf 的备份文件:
$ sudo cp /etc/vsftpdconf /etc/vsftpdconforig
接下来,打开 vsftpd 配置文件。
$ sudo vi /etc/vsftpdconf
OR
$ sudo nano /etc/vsftpdconf
把下面的这些选项添加/改成所展示的值:
anonymous_enable=NO # 关闭匿名登录
local_enable=YES # 允许本地用户登录
write_enable=YES # 启用可以修改文件的 FTP 命令
local_umask=022 # 本地用户创建文件的 umask 值
dirmessage_enable=YES # 当用户第一次进入新目录时显示提示消息
xferlog_enable=YES # 一个存有详细的上传和下载信息的日志文件
connect_from_port_20=YES # 在服务器上针对 PORT 类型的连接使用端口 20(FTP 数据)
xferlog_std_format=YES # 保持标准日志文件格式
listen=NO # 阻止 vsftpd 在独立模式下运行
listen_ipv6=YES # vsftpd 将监听 ipv6 而不是 IPv4,你可以根据你的网络情况设置
pam_service_name=vsftpd # vsftpd 将使用的 PAM 验证设备的名字
userlist_enable=YES # 允许 vsftpd 加载用户名字列表
tcp_wrappers=YES # 打开 tcp 包装器
现在,配置 VSFTPD ,基于用户列表文件/etc/vsftpduserlist 来允许或拒绝用户访问 FTP。
注意,在默认情况下,如果通过userlist_enable=YES 启用了用户列表,且设置userlist_deny=YES 时,那么,用户列表文件/etc/vsftpduserlist 中的用户是不能登录访问的。
但是,选项userlist_deny=NO 则反转了默认设置,这种情况下只有用户名被明确列出在/etc/vsftpduserlist 中的用户才允许登录到 FTP 服务器。
userlist_enable=YES # vsftpd 将会从所给的用户列表文件中加载用户名字列表
userlist_file=/etc/vsftpduserlist # 存储用户名字的列表
userlist_deny=NO
重要的是,当用户登录 FTP 服务器以后,他们将进入 chrooted 环境,即当在 FTP 会话时,其 root 目录将是其 home 目录。
接下来,我们来看一看两种可能的途径来设置 chrooted(本地 root)目录,正如下面所展示的。
这时,让我们添加/修改/取消这两个选项来将 FTP 用户限制在其 home 目录
chroot_local_user=YES
allow_writeable_chroot=YES
选项chroot_local_user=YES 意味着本地用户将进入 chroot 环境,当登录以后默认情况下是其 home 目录。
并且我们要知道,默认情况下,出于安全原因,VSFTPD 不允许 chroot 目录具有可写权限。然而,我们可以通过选项 allow_writeable_chroot=YES 来改变这个设置
保存文件然后关闭。现在我们需要重启 VSFTPD 服务从而使上面的这些更改生效:
------------- On SystemD -------------
# systemctl restart vsftpd
------------- On SysVInit -------------
# service vsftpd restart
第三步:在 Ubuntu 上测试 VsFTP 服务器
现在,我们通过使用下面展示的 useradd 命令创建一个 FTP 用户来测试 FTP 服务器:
$ sudo useradd -m -c "Aaron Kili, Contributor" -s /bin/bash aaronkilik
$ sudo passwd aaronkilik
然后,我们需要像下面这样使用 echo 命令和 tee 命令来明确地列出文件/etc/vsftpduserlist 中的用户 aaronkilik:
$ echo "aaronkilik" | sudo tee -a /etc/vsftpduserlist
$ cat /etc/vsftpduserlist
现在,是时候来测试上面的配置是否具有我们想要的功能了。我们首先测试匿名登录;我们可以从下面的输出中很清楚的看到,在这个 FTP 服务器中是不允许匿名登录的:
# ftp 19216856102
Connected to 19216856102 (19216856102)
220 Welcome to TecMintcom FTP service
Name (19216856102:aaronkilik) : anonymous
530 Permission denied
Login failed
ftp> bye
221 Goodbye
接下来,我们将测试,如果用户的名字没有在文件/etc/vsftpduserlist 中,是否能够登录。从下面的输出中,我们看到,这是不可以的:
# ftp 19216856102
Connected to 19216856102 (19216856102)
220 Welcome to TecMintcom FTP service
Name (1921685610:root) : user1
530 Permission denied
Login failed
ftp> bye
221 Goodbye
现在,我们将进行最后一项测试,来确定列在文件/etc/vsftpduserlist 文件中的用户登录以后,是否实际处于 home 目录。从下面的输出中可知,是这样的:
# ftp 19216856102
Connected to 19216856102 (19216856102)
220 Welcome to TecMintcom FTP service
Name (19216856102:aaronkilik) : aaronkilik
331 Please specify the password
Password:
230 Login successful
Remote system type is UNIX
Using binary mode to transfer files
ftp> ls
在 Ubuntu 中确认 FTP 登录
警告:设置选项allow_writeable_chroot=YES 是很危险的,特别是如果用户具有上传权限,或者可以 shell 访问的时候,很可能会出现安全问题。只有当你确切的知道你在做什么的时候,才可以使用这个选项。
我们需要注意,这些安全问题不仅会影响到 VSFTPD,也会影响让本地用户进入 chroot 环境的 FTP daemon。
因为这些原因,在下一步中,我将阐述一个更安全的方法,来帮助用户设置一个非可写本地 root 目录。
第四步:在 Ubuntu 中配置 FTP 用户的 Home 目录
现在,再次打开 VSFTPD 配置文件。
$ sudo vi /etc/vsftpdconf
OR
$ sudo nano /etc/vsftpdconf
然后像下面这样用# 把不安全选项注释了:
#allow_writeable_chroot=YES
接下来,为用户创建一个替代的本地 root 目录(aaronkilik,你的可能和这不一样),然后设置目录权限,取消其他所有用户对此目录的写入权限:
$ sudo mkdir /home/aaronkilik/ftp
$ sudo chown nobody:nogroup /home/aaronkilik/ftp
$ sudo chmod a-w /home/aaronkilik/ftp
然后,在本地 root 目录下创建一个具有合适权限的目录,用户将在这儿存储文件:
$ sudo mkdir /home/aaronkilik/ftp/files
$ sudo chown -R aaronkilk:aaronkilik /home/aaronkilik/ftp/files
$ sudo chmod -R 0770 /home/aaronkilik/ftp/files/
之后,将 VSFTPD 配置文件中的下面这些选项添加/修改为相应的值:
user_sub_token=$USER # 在本地 root 目录中插入用户名
local_root=/home/$USER/ftp # 定义各个用户的本地 root 目录
保存文件并关闭。然后重启 VSFTPD 服务来使上面的设置生效:
------------- On SystemD -------------
# systemctl restart vsftpd
------------- On SysVInit -------------
# service vsftpd restart
现在,让我们来最后检查一下,确保用户的本地 root 目录是我们在他的 Home 目录中创建的 FTP 目录。
# ftp 19216856102
Connected to 19216856102 (19216856102)
220 Welcome to TecMintcom FTP service
Name (1921685610:aaronkilik) : aaronkilik
331 Please specify the password
Password:
230 Login successful
Remote system type is UNIX
Using binary mode to transfer files
ftp> ls
建议你看下这篇文档>方便一点,找来一个比较全一点的linux光盘,最好是免费的,以免版权问题
然后全部安装。
接下去就是根据自己的需求,关闭和打开相应的服务即可,全部安装后有Xwindows可 *** 作,对于windows习惯的用户来说比较方便。
另外一种就是找一个简易化的linux,最小化安装,别忘了最好能够选择加入gcc编译器,然后去网上下载相应的服务软件,安装,运行即可。这种方法系统比较干净,而且可以安装到全部最新的软件,当然比较适合于对linux比较熟悉的人

大体上,这位大佬的教程已经非常完善了, 建议先通读TA的文章 ,再通读这篇。我增补一些这篇文章未提到但是有点让人抓狂的细节点。相信仔细阅读他的文章和我的文章,任何新手都能很从容的在linux下搭建属于自己的求生之路2服务器。
众所周知,linux服务器比windows服务器有更稳定和更安全的特点,而且其服务器利用效率较windows server更高,仅有一点问题,就是命令较多,难于熟记。不过也不用担心,常用的只有为数不多的命令而已。
PS:本文采用的是阿里云的cent os来进行实践得出的教程。
PS:阿里云目前有学生优惠,1核2G 5M 40GSSD的服务器学生价仅95元/月,可以说相当不错了,笔者其实也没多加斟酌,随便就选了阿里云的。童鞋们可以自己多斟酌,国内知名云服务器基本都有学生优惠。

sm_cvar sv_gametypes 的参数分别为: coop-合作 versus-对抗 survival-生存
z_difficulty 所有参数分别为: Easy-简单 Normal-普通 Hard-困难 Impossible-专家

此命令启用的命令和任务可以通过按下ctrl+A和ctrl+D (按住ctrl按A再按D) 来退出当前screen而保留任务后台运行,退出后用exit命令安全断开远程连接

下面这条命令可以重新打开后台的游戏服务器任务。 若要关闭游戏服务器,用 exit 命令

新增 /home/sun/l4d2server/srcds_run 为绝对路径,这样startsh无论移到任何目录都可以启动游戏服务器
新增 +map c3m1 用于设置默认地图
新增-maxplayers 8用于设置最大人数
新增 -tickrate xx用于设置服务器的 tickrate

笔者附上自己的 servercfg 部分有关 tickrate 的配置如下:

1开始说明
本教程中使用的IP地址是1921680100,主机名称为Server1examplecom 这些设置可能会有所不同,你需要根据不同情况进行修改。
CentOS 62下安装MySQL
2开始安装MySQL5
首先我们应该先用下面的命令安装MySQL:
yum install mysql mysql-server
然后我们需要创建MySQL系统的启动键链接启动MySQL服务器,这样以便于MySQL在系统启动时自动启动
chkconfig --levels 235 mysqld on
/etc/initd/mysqld start
为MySQL root帐户设置密码:
mysql_secure_installation
会出现下面的一系列提示:
root@server1 ~]# mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MySQL to secure it, we'll need the current
password for the root user If you've just installed MySQL, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here
Enter current password for root (enter for none):
OK, successfully used password, moving on
Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation
Set root password [Y/n] <-- ENTER
New password: <-- yourrootsqlpassword
Re-enter new password: <-- yourrootsqlpassword
Password updated successfully!
Reloading privilege tables
Success!
By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them This is intended only for testing, and to make the installation
go a bit smoother You should remove them before moving into a
production environment
Remove anonymous users [Y/n] <-- ENTER
Success!
Normally, root should only be allowed to connect from 'localhost' This
ensures that someone cannot guess at the root password from the network
Disallow root login remotely [Y/n] <-- ENTER
Success!
By default, MySQL comes with a database named 'test' that anyone can
access This is also intended only for testing, and should be removed
before moving into a production environment
Remove test database and access to it [Y/n] <-- ENTER
- Dropping test database
Success!
- Removing privileges on test database
Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately
Reload privilege tables now [Y/n] <-- ENTER
Success!
Cleaning up
All done! If you've completed all of the above steps, your MySQL
installation should now be secure
Thanks for using MySQL!
[root@server1 ~]#
CentOS 62下安装Apache
3安装阿帕奇2
Apache2的是作为一个CentOS的软件包,因此我们可以直接用下面命令安装它:
yum install >1、先从Apache的官方网站下载下来tomcat60系列的文件,>

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10289577.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-07
下一篇2023-05-07

发表评论

登录后才能评论

评论列表(0条)

    保存