Linux安全网 - Linux操作系统_Linux 命令_Linux教程_Linux黑客

会员投稿 投稿指南 本期推荐: 强烈推荐:Ylmf OS 3.0 正式版发布附迅雷高 XP系统下硬盘安装Fedora 14图文教程
搜索:
您的位置: Linux安全网 > Linux入门 > » 正文

LAMP的详细配置(包括详细的Linux配置,适用Discuz! 环境)#S#(2)

来源: 未知 分享至:

#make install

e. Apache日志截断程序

#cd ..

#tar xzvf cronolog-1.7.0-beta.tar.gz

#cd cronolog-1.7.0

#./configure --prefix=/usr/local/cronolog

升级OpenSSL和OpenSSH (为了提高安全性,请下载最新的源码)

a. 升级OpenSSL

#cd ..

#tar xzvf openssl-0.9.8l.tar.gz

#cd openssl-0.9.8l

#./config --prefix=/usr/local/openssl

#make

#make test

#make install

b. 升级OpenSSH

#cd ..

#tar xzvf openssh-5.3p1.tar.gz

#cd openssh-5.3p1

#./configure --prefix=/usr --with-pam --with-zlib --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/openssl --with-md5-passwords

#make

#make install

c. 修改SSH的配置文件(使用vi来修改配置文件,vi的使用在这里就不作介绍了)

#vi /etc/ssh/sshd_config

v 禁用SSH V1协议

找到:#Protocol 2,1

改为:Protocol 2

v 禁止root直接登录(处于操作容易,可以在全部配置完成后再修改这个选项)

先建立一个普通系统用户(下面的username你可以建任意一个你希望的名字,passwd后面的username是你希望给着个用户设置的密码):

#useradd username

#passwd username

仍然编辑SSHD的那个配置文件然后找到:

#PermitRootLogin yes

改成:

PermitRootLogin no

这个命令使用并重启计算机后,将不能用root通过ssh登录计算机,可以用刚刚创建的那个用户登录,然后通过:$su – 这个命令,然后输入root的密码来提升权限继续配置。

v 禁用服务器端GSSAPI

继续编辑SSHD的配置文件找到下面两行,并将它们注释掉(注释的意思就是在该行最前面加上#):

GSSAPIAuthentication yes

GSSAPICleanupCredentials yes

v 禁用DNS名称解析

编辑SSHD的配置文件,找到:

#UseDNS yes

改成

UseDNS no

v 禁用客户端GSSAPI

编辑另外一个配置文件:

#vi /etc/ssh/ssh_config

找到:

GSSAPIAuthentication yes

把这行注释掉

v 确认正确后重新启动SSH服务

#service sshd restart (重启SSH服务)

#ssh –v (确认OpenSSL和OpenSSH的版本正确)

编译安装MySQL,Apache,php/' target='_blank'>PHP,ZendOptimizer

· 下载最新版的软件(当然可以从Windows的机器上下,也可以用wget软件在Linux上直接下)

MySQL最新版是mysql-5.1.44-linux-i686-glibc23.tar.gz,点击它即可看到最新版的下载页面

Apache最新版是httpd-2.2.15.tar.gz,点击它即可看到最新版的下载页面:

PHP最新版是php-5.2.13.tar.gz,可以在下面的网址下载(几天前还是11呢,现在就13了,php是更新最快的)

· 安装配置MySQL

#tar xzvf mysql-5.1.41-linux-i686-glibc23.tar.gz

#mv mysql-5.1.41-linux-i686-glibc23 /usr/local/

#ln –s /usr/local/mysql-5.1.41-linux-i686-glibc23 /usr/local/mysql

#groupadd mysql (建一个mysql的组)

#useradd –g mysql mysql (建个属于mysql组的用户mysql)

#cd /usr/local/mysql (这步很重要,如果不到此目录下,下面的命令要出错)

#chown –R mysql . (允许mysql用户完全使用mysql目录,注意root后面是空格加个点)

#chgrp –R mysql . (允许mysql组可以完全使用mysql目录)

#./scripts/mysql_install_db --user=mysql (MySQL初始化表,结果如下图,注意user前面是两个减号)

650) this.width=650;\" style=\"background-image: none; border-right- 0px; padding-left: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px\" title=\"15\" border=\"0\" alt=\"15\" src=\"/uploads/allimg/111020/0102426332-14.jpg\" width=\"638\" height=\"532\" />

#chown –R root . (再给mysql这个目录root完全的权限)

#chown –R mysql data (给mysql用户这个目录下data目录的权限)

#bin/mysqld_safe -user=mysql & (后台运行MySQL, &表示在后台运行,结果如下图)

650) this.width=650;\" style=\"background-image: none; border-right- 0px; padding-left: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px\" title=\"16\" border=\"0\" alt=\"16\" src=\"/uploads/allimg/111020/010242M40-15.jpg\" width=\"645\" height=\"73\" />

#bin/mysqladmin –u root password wishes (将管理mysql的管理员密码设置成wishes)

#bin/mysql –u root –p (用mysql的管理员账户登录mysql管理平台,下图为管理界面,输入q退出)

650) this.width=650;\" style=\"background-image: none; border-right- 0px; padding-left: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px\" title=\"17\" border=\"0\" alt=\"17\" src=\"/uploads/allimg/111020/0102425026-16.jpg\" width=\"651\" height=\"179\" />

MySQL已经配置完成,现在只要在启动文件里下次电脑启动时就会自动让mysql后台启动就可以了。

#echo ‘/usr/local/mysql/bin/mysqld_safe –user=mysql &’>> /etc/rc.local

· 安装配置Apache

#cd /root/Linux (返回源文件存放的目录)

#tar xzvf httpd-2.2.15.tar.gz (解压Apache的源文件)

#cd httpd-2.2.15

#./configure --prefix=/usr/local/apache --with-included-apr --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-static-support --disable-userdir

(以上是配置Apache,包括安装路径,使用的模块和一些我也不懂的选项)

#make (编译)

#make install (编译连接)

这时Apache的初始配置已经完成,可以通过下面的命令启动Apache,

#/usr/local/apache/bin/apachectl start

注: start可以换成stop或者是restart,表示停止或重启Apache。

运行后可能会提示下面的错误,

httpd: Could not reliable determine the server’s fully qualified domain name, using 127.0.0.1 for ServerName

这个错误是需要在配置文件中确定域名,否则通过域名访问会有问题,这个问题在配置好PHP和Zend之后一起配置Apache配置文档的时候再修改。这时Apache应该已经启动了,你可以在有浏览器的机器上输入这台服务器的IP地址来检查Apache是否启动。如图:

650) this.width=650;\" style=\"background-image: none; border-right- 0px; padding-left: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px\" title=\"18\" border=\"0\" alt=\"18\" src=\"http://files.blogcn.com/wp04/M00/00/2B/wKgKDU24DJ8AAAAAAABQjnciCiA974.jpg\" width=\"638\" height=\"281\" />

出现这个界面表示Apache已经启动,如果是“该页无法访问”或者是“域名无法被解析”都表示Apache有问题,没有启动。没有问题的话,把启动Apache的命令也写到启动文件里:

#echo ‘/usr/local/apache/bin/apachectl start’>> /etc/rc.local

安装配置PHP

#cd /root/Linux (返回源代码目录)

#tar xzvf php-5.2.13.tar.gz (解压PHP的源码)

#cd php-5.2.13 (进入PHP目录)

#./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-libxml-dir=/usr/local/libxml --with-gd=/usr/local/gd2 --with-jpeg-dir --with-png-dir --with-bz2 --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-openssl=/usr/local/openssl --with-mcrypt=/usr/local/libmcrypt --enable-soap --enable-gd-native-ttf --enable-ftp --enable-mbstring --enable-exif --disable-ipv6 --disable-cgi --disable-cli

(配置PHP,其中包括PHP将要安装路径和配置文件位置,指定与其配合的MySQL,Apache的路径,还包括一些其他之前安装软件的路径和模块)

#make (编译PHP)

#make install (编译连接PHP,之前可能提示测试,没有必要做)

#mkdir /usr/local/php/etc (新建PHP配置文件目录)

#cp php.ini-dist /usr/local/php/etc/php.ini (拷贝配置文件例子作为PHP的配置文件)

注:PHP配置的时间比较长,建议去上个厕所或者去倒杯咖啡,坐下来慢慢等。

· 配置ZendOptimizer

#cd /root/Linux (返回源代码目录)

#tar xzvf ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz (解压ZendOptimizer)

#cd ZendOptimizer-3.3.9-linux-glibc23-i386 (进入ZendOptimizer)

#cp data/5_2_x_comp/ZendOptimizer.so /usr/local/php/etc/ (拷贝对应的文件到PHP的配置目录中)

注:之前的ZendOptimizer都是需要安装的,新版的只需要把相对应的配置文件拷贝过去即可,方便很多。在配置完ZendOptimizer后不要重启Apache。

· 整合Apache和PHP

#vi /usr/local/apache/conf/httpd.conf (编辑Apache的配置文件)

找到AddType application/x-gzip .gz .tgz

在该行下面添加一行 AddType application/x-httpd-php .php (记住后面的.php前面是有个空格的)

找到 DirectoryIndex index.html

将该行改为: DirectoryIndex index.html index.htm index.php (确定目录缺省页面,可以按自己要求改成其他的,当然php这个页面是不能少的,并且优先级也是按前后顺序的)

找到 Servername

把后面的域名改成本机的IP地址,后面的端口是缺省的80,当然可以改成你喜欢的port,这就是之前配置Apache出现的那个错误修改的地方。

配置保存后,重启Apache,不过建议最好把计算机重启一下。

Apache的缺省页面是放在htdocs下面的,里面有一个文件是index.html,你会发现这就是之前测试Apache的那个It Works! 你可以新建一个文件:

#vi /usr/local/apache/htdocs/index.php

<?php

phpinfo();

?>

这时你就可以测试你的Apache和PHP有没有整合了。当然不能直接选择本机的IP地址打开,因为按照优先原则,浏览器会先打开index.html,仍然是It Works!要不你就删除index.html,要不你就在浏览器上输完全http://x.x.x.x/index.php,如果整合完全,你将会发现一些PHP的信息,上面有具体的参数,如下图:

650) this.width=650;\" style=\"background-image: none; border-right- 0px; padding-left: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px\" title=\"19\" border=\"0\" alt=\"19\" src=\"/uploads/allimg/111020/0102421V8-18.jpg\" width=\"643\" height=\"395\" />

这里仅仅显示了一部分,后面还有很多,在这里就不详细描述了。如果整合不成功,是不能显示这个页面的。确认整合成功后,我们需要加强PHP的安全性,这时我们要修改一下php.ini:

#vi /usr/local/php/etc/php.ini

找到disable_functions=

在后面加上:

phpinfo,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,

ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server

设置后,会发现打开index.php显示phpinfo就会被提示安全性提高,不能显示。毕竟这里的信息是最全的。

服务器的安全性设置

这里我们简单设置一下,因为对外发布的话,我们只要设置好对外的硬件防火墙即可。本机上通过setup.html' target='_blank'>setup命令打开配置表单,选择Firewall Configuration,到里面选择打开防火墙,并选择下面的Customize,按下图配置即可:


Tags:
分享至:
最新图文资讯
1 2 3 4 5 6
验证码:点击我更换图片 理智评论文明上网,拒绝恶意谩骂 用户名:
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 发展历史