技术宅的结界

 找回密码
 立即注册→加入我们

QQ登录

只需一步,快速开始

搜索
热搜: 下载 VB C 实现 编写
查看: 4024|回复: 3
收起左侧

【Linux】从安装CentOS到配置LAMP搭建服务器

[复制链接]

1096

主题

2694

帖子

7万

积分

用户组: 管理员

一只技术宅

UID
1
精华
240
威望
679 点
宅币
23055 个
贡献
46153 次
宅之契约
0 份
在线时间
2190 小时
注册时间
2014-1-26
发表于 2014-11-26 01:50:22 | 显示全部楼层 |阅读模式

欢迎访问技术宅的结界,请注册或者登录吧。

您需要 登录 才可以下载或查看,没有账号?立即注册→加入我们

x
CentOS是一个轻量级Linux系统,可以用于建立服务器。
我们的目标是建立LAMP服务器,因此我们需要一个服务器版的CentOS

CentOS主页:http://centos.org/
CentOS下载页:http://centos.org/download/

上面只是照例提供了主页和下载页。但是我们的重点是搭建服务器,因此我们需要合适的镜像来下载。
这个是CentOS在全地球的下载站点分布。http://isoredirect.centos.org/centos/7/isos/x86_64/
我们从Nearby Countries -这里寻找适合我们中国人下载的网点。

点进去后会看到这样的目录:
[Plain Text] 纯文本查看 复制代码
../
0_README.txt                                       21-Jul-2014 07:24                2690
CentOS-7.0-1406-x86_64-DVD.iso                     06-Jul-2014 17:33          4148166656
CentOS-7.0-1406-x86_64-DVD.torrent                 07-Jul-2014 12:16              158766
CentOS-7.0-1406-x86_64-Everything.iso              04-Jul-2014 22:16          7062159360
CentOS-7.0-1406-x86_64-Everything.torrent          07-Jul-2014 12:16              269937
CentOS-7.0-1406-x86_64-GnomeLive.iso               04-Jul-2014 17:22          1108344832
CentOS-7.0-1406-x86_64-GnomeLive.torrent           07-Jul-2014 12:16               42828
CentOS-7.0-1406-x86_64-KdeLive.iso                 04-Jul-2014 17:44          1298137088
CentOS-7.0-1406-x86_64-KdeLive.torrent             07-Jul-2014 12:16               50062
CentOS-7.0-1406-x86_64-Minimal.iso                 17-Jul-2014 14:16           593494016
CentOS-7.0-1406-x86_64-NetInstall.iso              04-Jul-2014 15:59           379584512
CentOS-7.0-1406-x86_64-NetInstall.torrent          07-Jul-2014 12:16               15019
CentOS-7.0-1406-x86_64-livecd.iso                  04-Jul-2014 17:00           720371712
CentOS-7.0-1406-x86_64-livecd.torrent              07-Jul-2014 12:16               28016
md5sum.txt                                         21-Jul-2014 07:24                 486
md5sum.txt.asc                                     21-Jul-2014 07:24                1362
sha1sum.txt                                        21-Jul-2014 07:24                 542
sha1sum.txt.asc                                    21-Jul-2014 07:24                1418
sha256sum.txt                                      21-Jul-2014 07:24                1343
sha256sum.txt.asc                                  21-Jul-2014 07:24                2219
这么多文件,选哪个呢?
CentOS-7.0-1406-x86_64-DVD.iso:标准版。通常大家下载这个。可以用作桌面系统。
CentOS-7.0-1406-x86_64-Everything.iso:完整版。也就是啥都有的版本。
CentOS-7.0-1406-x86_64-GnomeLive.iso:装了Gnome桌面的CentOS。
CentOS-7.0-1406-x86_64-KdeLive.iso:装了KDE桌面的CentOS。
CentOS-7.0-1406-x86_64-Minimal.iso:最小系统。这个就可以刻录到CD了。
CentOS-7.0-1406-x86_64-NetInstall.iso:这个用于“无盘”,也就是PXE网络引导。
CentOS-7.0-1406-x86_64-livecd.iso:类似于WinPE,光盘系统。

我选了Minimal,然后开始下载了。Minimal没种子。操蛋。
电脑没电了。今天就到此为止。
回复

使用道具 举报

1096

主题

2694

帖子

7万

积分

用户组: 管理员

一只技术宅

UID
1
精华
240
威望
679 点
宅币
23055 个
贡献
46153 次
宅之契约
0 份
在线时间
2190 小时
注册时间
2014-1-26
 楼主| 发表于 2014-11-26 19:32:51 | 显示全部楼层
我已经选择了Minimum,然后下载安装了。过程挺快的。
CentOS-7-64-位-2014-11-26-13-53-41.png

安装的时候,记得把网络连上。
COS.png
COS.png
CentOS-7-64-位-2014-11-26-18-59-09.png

然后设置root密码。
CentOS-7-64-位-2014-11-26-18-59-09.png

好的。安装完成,已经重启。
CentOS-7-64-位-2014-11-26-13-55-56.png

输入root和用户密码,按回车登录。

之后为了方便演示,我使用PuTTY来操作这个CentOS电脑。
关闭防火墙。
[Bash shell] 纯文本查看 复制代码
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
安装iptables防火墙
[Bash shell] 纯文本查看 复制代码
yum install iptables-services #安装
vi /etc/sysconfig/iptables #编辑防火墙配置文件
20141126190601.png
在防火墙配置文件里面插入三句:
  1. -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
  2. -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
  3. -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
复制代码
就像这样:
20141126190933.png
编辑完了以后,按下ESC,输入:wq,保存退出vi。
[Bash shell] 纯文本查看 复制代码
systemctl restart iptables.service #重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动
安装Apache:
[Bash shell] 纯文本查看 复制代码
yum install httpd
当它提示“Is this ok [y/d/N]:”的时候,输入y,按下回车。
20141126191229.png
[Bash shell] 纯文本查看 复制代码
systemctl enable httpd.service #设置apache开机启动
systemctl start httpd.service #启动apache
启动了Apache以后,你就能通过Chrome谷歌浏览器查看它的测试页面了。
20141126191512.png
安装MariaDB:
在CentOS 7.0中不使用MySQL数据库,而是使用MariaDB。
[Bash shell] 纯文本查看 复制代码
yum install mariadb mariadb-server
systemctl enable mariadb.service #设置开机启动
systemctl start mariadb.service #启动MariaDB
cp /usr/share/mysql/my-huge.cnf /etc/my.cnf #拷贝配置文件
提示是否覆盖配置文件的时候,按y然后按回车。
设置MySQL安全设置
[Bash shell] 纯文本查看 复制代码
mysql_secure_installation
它会提示你输入密码。直接按下回车。在Set root password? [Y/n]这里按下回车。
然后输入两遍密码。
Remove anonymous users? [Y/n]这里按下回车。
Disallow root login remotely? [Y/n]回车。
Remove test database and access to it? [Y/n]继续按下回车。
Reload privilege tables now? [Y/n]按回车。
20141126192941.png
MySQL配置完成。
[Bash shell] 纯文本查看 复制代码
systemctl restart mariadb.service #重启MariaDB
安装PHP。
[Bash shell] 纯文本查看 复制代码
yum install php
20141126193104.png
安装PHP组件,使其支持MariaDB(MySQL)
[Bash shell] 纯文本查看 复制代码
yum install php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-bcmath php-mhash
systemctl restart mariadb.service #重启MariaDB
systemctl restart httpd.service #重启apache
20141126193209.png
安装vsftpd,也就是FTP服务器。
[Bash shell] 纯文本查看 复制代码
yum install vsftpd
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak #备份配置文件
vi /etc/vsftpd/vsftpd.conf #编辑配置文件
找到anonymous_enable=YES,改为anonymous_enable=NO,禁止匿名用户登录。如果不改也可以,用户能匿名登录,但是无法上传,只能下载。
找到#xferlog_file=/var/log/xferlog,去掉前面的#,开启LOG记录。
找到#ascii_upload_enable=YES,去掉前面的#,允许ASCII模式上传
找到#ascii_download_enable=YES,去掉前面的#,允许ASCII模式下载
找到#chroot_list_enable=YES,去掉前面的#,开启用户列表
找到#chroot_list_file=/etc/vsftpd/chroot_list,去掉前面的#,设置用户列表文件(我们待会儿去设置)
找到listen=NO(关闭IPv4侦听)和listen_ipv6=YES(开启IPv6侦听)这两个选项,因为不能一个配置文件里面同时将它们打开(不能同时侦听IPv4和IPv6),所以我们待会儿要再复制一个配置文件,使其能同时侦听IPv4和IPv6。
所以我们先把listen=NO改为listen=YES,再把listen_ipv6=YES改为listen_ipv6=NO
按下ESC,输入:wq保存退出。
[Bash shell] 纯文本查看 复制代码
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd_ipv6.conf #复制配置文件
vi /etc/vsftpd/vsftpd_ipv6.conf #编辑配置文件
找到listen=YES,改为listen=NO
找到listen_ipv6=NO改为listen_ipv6=YES
按下ESC,输入:wq保存退出。
给VSFTPD添加用户。
[Bash shell] 纯文本查看 复制代码
vi /etc/vsftpd/chroot_list #添加用户列表
20141126195348.png
规则是一行一个用户名。我这里有两行,一个是root,一个是0xAA55。
按下ESC,输入:wq保存退出。
[Bash shell] 纯文本查看 复制代码
useradd -d /var/www -g ftp -s /sbin/nologin 0xAA55 #添加一个不能登录系统的用户用于登录FTP
passwd 0xAA55 #设置密码
这里要输入两次密码。这就是FTP的密码。这个添加的用户的目录是/var/www,也就是这个用户登录FTP的时候的根目录就是/var/www。
修改/var/www的权限:
[Bash shell] 纯文本查看 复制代码
chmod -R 777 /var/www
至此FTP服务器已经配置完成,重启FTP服务器。
[Bash shell] 纯文本查看 复制代码
systemctl restart vsftpd
看,已经可以用Windows资源管理器上FTP了。
20141126195924.png
配置Apache
[Bash shell] 纯文本查看 复制代码
vi /etc/httpd/conf/httpd.conf #编辑文件
找到#ServerName www.example.com:80,去掉前面的#,然后修改为ServerName localhost:80或者ServerName 你的域名:端口
修改以使其支持.htaccess:
找到<Directory "/var/www/html">,然后找到它后面的AllowOverride None,改为AllowOverride All。
修改主页:
找到如下的片段。
  1. <IfModule dir_module>
  2.     DirectoryIndex index.html
  3. </IfModule>
复制代码
改为
  1. <IfModule dir_module>
  2.     DirectoryIndex index.html index.htm index.php default.html default.htm default.php
  3. </IfModule>
复制代码
这样,index.html、index.htm、index.php、default.html、default.htm、default.php就都可以作为主页文件名了。
修改mime:
找到<IfModule mime_module>,然后找到它后面的#AddEncoding x-compress .Z,去掉前面的#,开启x-compress
找到#AddEncoding x-gzip .gz .tgz,去掉前面的#,开启gzip
找到#AddHandler cgi-script .cgi,去掉前面的#,开启cgi脚本执行。
修改字符集:
找到AddDefaultCharset UTF-8。我觉得UTF-8挺好的,在世界各地都不会乱码。当然大家也可以根据需求将其改为GB2312等字符集。
修改服务器错误页:
添加ErrorDocument 错误号 "纯文本或本地重定向或外部重定向"
例子:
  1. ErrorDocument 500 "服务器噗的叫了一声"
  2. ErrorDocument 404 /missing.html
  3. ErrorDocument 404 "/cgi-bin/missing_handler.pl"
  4. ErrorDocument 402 http://www.example.com/subscription_info.html
复制代码
按下ESC,输入:wq保存退出。
[Bash shell] 纯文本查看 复制代码
systemctl restart httpd.service #重启apache
rm -f /etc/httpd/conf.d/welcome.conf /var/www/error/noindex.html #删除默认测试页
配置php。
[Bash shell] 纯文本查看 复制代码
vi /etc/php.ini #编辑
找到;date.timezone =,去掉前面的;,改为date.timezone = PRC
找到short_open_tag = Off,改为short_open_tag = On,就能使其支持<? ?>这样的短标签了。
按下ESC,输入:wq保存退出。
[Bash shell] 纯文本查看 复制代码
systemctl restart mariadb.service #重启MariaDB
systemctl restart httpd.service #重启apache
测试网站。
[Bash shell] 纯文本查看 复制代码
cd /var/www/html
echo \<?phpinfo\(\)\;?\>>index.php #制造主页
然后用浏览器访问服务器吧。
20141126202247.png
至此配置成功。
参考资料:
http://www.jb51.net/os/188488.html
http://blog.csdn.net/wxg630815/article/details/8495437

0

主题

2

帖子

20

积分

用户组: 初·技术宅

UID
569
精华
0
威望
0 点
宅币
18 个
贡献
0 次
宅之契约
0 份
在线时间
1 小时
注册时间
2014-11-26
发表于 2014-11-26 21:47:05 | 显示全部楼层
干脆直接用面板~

1096

主题

2694

帖子

7万

积分

用户组: 管理员

一只技术宅

UID
1
精华
240
威望
679 点
宅币
23055 个
贡献
46153 次
宅之契约
0 份
在线时间
2190 小时
注册时间
2014-1-26
 楼主| 发表于 2014-11-26 22:15:08 | 显示全部楼层
配置这些简直让我累死

本版积分规则

QQ|申请友链||Archiver|手机版|小黑屋|技术宅的结界 ( 滇ICP备16008837号 )|网站地图

GMT+8, 2022-12-9 04:48 , Processed in 0.039258 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表