0xAA55 发表于 2014-11-26 01:50:22

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

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 -这里寻找适合我们中国人下载的网点。

点进去后会看到这样的目录:../
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没种子。操蛋。
电脑没电了。今天就到此为止。

0xAA55 发表于 2014-11-26 19:32:51

我已经选择了Minimum,然后下载安装了。过程挺快的。


安装的时候,记得把网络连上。




然后设置root密码。


好的。安装完成,已经重启。


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

之后为了方便演示,我使用PuTTY来操作这个CentOS电脑。
关闭防火墙。systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动安装iptables防火墙yum install iptables-services #安装
vi /etc/sysconfig/iptables #编辑防火墙配置文件
在防火墙配置文件里面插入三句:-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT就像这样:

编辑完了以后,按下ESC,输入:wq,保存退出vi。systemctl restart iptables.service #重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动安装Apache:yum install httpd当它提示“Is this ok :”的时候,输入y,按下回车。
systemctl enable httpd.service #设置apache开机启动
systemctl start httpd.service #启动apache启动了Apache以后,你就能通过Chrome谷歌浏览器查看它的测试页面了。

安装MariaDB:
在CentOS 7.0中不使用MySQL数据库,而是使用MariaDB。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安全设置mysql_secure_installation它会提示你输入密码。直接按下回车。在Set root password? 这里按下回车。
然后输入两遍密码。
Remove anonymous users? 这里按下回车。
Disallow root login remotely? 回车。
Remove test database and access to it? 继续按下回车。
Reload privilege tables now? 按回车。

MySQL配置完成。systemctl restart mariadb.service #重启MariaDB安装PHP。yum install php
安装PHP组件,使其支持MariaDB(MySQL)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
安装vsftpd,也就是FTP服务器。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保存退出。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添加用户。vi /etc/vsftpd/chroot_list #添加用户列表
规则是一行一个用户名。我这里有两行,一个是root,一个是0xAA55。
按下ESC,输入:wq保存退出。useradd -d /var/www -g ftp -s /sbin/nologin 0xAA55 #添加一个不能登录系统的用户用于登录FTP
passwd 0xAA55 #设置密码这里要输入两次密码。这就是FTP的密码。这个添加的用户的目录是/var/www,也就是这个用户登录FTP的时候的根目录就是/var/www。
修改/var/www的权限:chmod -R 777 /var/www至此FTP服务器已经配置完成,重启FTP服务器。systemctl restart vsftpd看,已经可以用Windows资源管理器上FTP了。

配置Apachevi /etc/httpd/conf/httpd.conf #编辑文件找到#ServerName www.example.com:80,去掉前面的#,然后修改为ServerName localhost:80或者ServerName 你的域名:端口
修改以使其支持.htaccess:
找到<Directory "/var/www/html">,然后找到它后面的AllowOverride None,改为AllowOverride All。
修改主页:
找到如下的片段。<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>改为<IfModule dir_module>
    DirectoryIndex index.html index.htm index.php default.html default.htm default.php
</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 错误号 "纯文本或本地重定向或外部重定向"
例子:ErrorDocument 500 "服务器噗的叫了一声"
ErrorDocument 404 /missing.html
ErrorDocument 404 "/cgi-bin/missing_handler.pl"
ErrorDocument 402 http://www.example.com/subscription_info.html按下ESC,输入:wq保存退出。systemctl restart httpd.service #重启apache
rm -f /etc/httpd/conf.d/welcome.conf /var/www/error/noindex.html #删除默认测试页配置php。vi /etc/php.ini #编辑找到;date.timezone =,去掉前面的;,改为date.timezone = PRC
找到short_open_tag = Off,改为short_open_tag = On,就能使其支持<? ?>这样的短标签了。
按下ESC,输入:wq保存退出。systemctl restart mariadb.service #重启MariaDB
systemctl restart httpd.service #重启apache测试网站。cd /var/www/html
echo \<?phpinfo\(\)\;?\>>index.php #制造主页然后用浏览器访问服务器吧。

至此配置成功。
参考资料:
http://www.jb51.net/os/188488.html
http://blog.csdn.net/wxg630815/article/details/8495437

AssemblyXiang 发表于 2014-11-26 21:47:05

干脆直接用面板~:lol

0xAA55 发表于 2014-11-26 22:15:08

配置这些简直让我累死
页: [1]
查看完整版本: 【Linux】从安装CentOS到配置LAMP搭建服务器