调优与安全

#配置用户认证
<Directory *>
AllowOverride AuthConfig
AuthName “admin”
AuthType Basic
AuthUserFile /data/.htpasswd
require valid-user
</Directory>
#配置日志切割
ErrorLog “|/usr/local/apache/bin/rotatelogs -l /usr/local/apache/logs/oem.discuz.qq.com-error_%Y%m%d.log 86400″
SetEnvIf Request_URI “.*\.gif$” image-request
SetEnvIf Request_URI “.*\.jpg$” image-request
SetEnvIf Request_URI “.*\.png$” image-request
SetEnvIf Request_URI “.*\.bmp$” image-request
SetEnvIf Request_URI “.*\.swf$” image-request
SetEnvIf Request_URI “.*\.js$” image-request
SetEnvIf Request_URI “.*\.css$” image-request
CustomLog “|/usr/local/apache/bin/rotatelogs -l /usr/local/apache/logs/oem.discuz.qq.com-access_%Y%m%d.log 86400″ combined env=!image-request

 

php的配置,安全,调优

/usr/local/php/etc/php.ini 这时php的配置文件
找到display_error 设置为Off ,这个防止别人通过错误文件看到其他信息,比如文件存放路径等
禁掉后,找到errot_log,然后自定义这个绝对路径 error_log=/usr/local/php/logs/error.log,还要到log_errors=On,再到error_reporting日志级别去定义级别error_reporting=E_ALL | E_STRICT这样后才完成
② 限制访问目录 open_basedir=/data/www2/:/tmp/
③ 静态安装模块就是程序启动时就已经加载,影响了性能,占用了资源;动态安装模块是程序启动后有需要到那个模块的时候才调用加载那个模块。

lamp安装与配置

apache 所使用的php只是调用了php的一个模块 配置文件 /usr/local/php/etc/目录下 想调用php.ini,如果删掉原php目录,Apache想调用php.ini时就会找不到

总结
mysql 安装与配置:1.解压 移动文件夹 增加用户 useradd -s /sbin/nologin mysql
2. 创建文件夹 mkdir -p /data/mysql 给予权限 chown -R mysql:mysql /data/mysql 3.初始化安装: ./scripts/mysql_install_db –user=mysql –datadir=/data/mysql 4.拷贝修改配置文件与启动文件 cp support-files/my-large.cnf /etc/my.cnf(关掉三个二进制的配置)
cp support-files/mysql.server /etc/init.d/mysqld (修改服务路径和数据存放路径)
5.将mysql加入到服务列表,设置开机启动 chkconfig –add mysqld chkconfig mysqld on 6.启动mysql服务:/etc/init.d/mysqld start

apache 安装与配置 :1.解压 ,初始化 ./configure –prefix=/usr/local/apache2 –enable-mods-shared=most(大多数模块以共享方式安装) –enable-so (支持dso动态加载)
2.make make install
3. 进入apache2目录, /usr/local/apache2/bin/httpd 可执行文件 可以查看工作模式 -l -t检测配置是否有错 -M查看加载都有哪些模块 当你拿到一台老机器不知道他安装时都加载了哪些模块时可以用 cat /usr/local/apache2/build/config.nice来查看

php 安装与配置: 1.解压,初始化./configure –prefix=/usr/local/php –with-apxs2=/usr/local/apache2/bin/apxs –with-config-file-path=/usr/local/php/etc –with-mysql=/usr/local/mysql –with-libxml-dir –with-gd –with-jpeg-dir –with-png-dir –with-freetype-dir –with-iconv-dir –with-zlib-dir –with-bz2 –with-openssl –with-mcrypt –enable-soap –enable-gd-native-ttf –enable-mbstring –enable-sockets –enable-exif –disable-ipv6
初始化遇到问题:configure: error: xml2-config not found. Please check your libxml2 installation
可用:yum install -y libxml2-devel

2.configure: error: Cannot find OpenSSL’s <evp.h>
2.make make install
3./usr/local/php/bin/php -m 查看php加载了什么模块,这里有gd模块,这个是加载验证码的模块。 /usr/local/php/bin/php -i 查看所安装php所配置,加载模块,安装路径等详细信息。 4.拷贝配置文件模板:cp /usr/local/src/php-5.3.28/php.ini-development /usr/local/php/etc/php.ini 5.到apache配置里在AddType这行下面加上AddType application/x-httpd-php .php(使Apache支持解析php)

当没有解析php成功时候,首先/usr/local/apache2/bin/apachectl -M |grep -i php 看有没有php模块 然后看Apache配置里面有没有 AddType application/x-httpd-php .php ldd /usr/local/apache2/modules/libphp5.so查看libphp5.so模块组件

又一个WordPress站点