站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
Discuz! 7.2/Linux 环境搭建推
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
一、系统约定 软件源代码包存放位置:/usr/local/src 源码包编译安装位置(prefix):/usr/local/software_name [[脚本]]以及维护程序存放位置:/usr/local/sbin [[MySQL]] [[数据库]]位置:/var/lib/MySQL(可按情况设置) [[Apache]] [[网站]][[根目录]]:/home/[[www]]/wwwroot(可按情况设置) Apache [[虚拟主机]]日志根目录:/home/www/logs(可按情况设置) Apache 运行账户:www:www 二、系统环境部署及调整 1. 检查[[系统]]是否正常 <pre> # more /var/log/messages(检查有无系统级错误信息) # dmesg(检查硬件设备是否有错误信息) # ifconfig(检查[[网卡]]设置是否正确) # ping www.163.com(检查[[网络]]是否正常)</pre> 2. 关闭不需要的服务 <pre># ntsysv</pre> 以下仅列出需要启动的服务,未列出的服务一律推荐关闭: atd crond irqbalance microcode_ctl network sendmail sshd syslog 3. 重新启动系统 <pre># init 6</pre> 4. 配置 vim <pre># vi /root/.bashrc</pre> 在 alias mv='mv -i' 下面添加一行:alias vi='vim' 保存退出。 <pre># echo 'syntax on' > /root/.vimrc</pre> 5. 使用 yum 程序安装所需开发包(以下为标准的 RPM 包名称) <pre> # yum install ntp vim-enhanced gcc gcc-c++ gcc-g77 flex bison autoconf automake bzip2-devel ncurses-devel libjpeg-devel libpng-devel libtiff-devel freetype-devel pam-devel kernel </pre> 6. 定时校正服务器时钟,定时与中国国家授时中心授时[[服务器]]同步 <pre># crontab -e</pre> 加入一行: <pre>*/30 * * * * ntpdate 210.72.145.44</pre> 7. 源码编译安装所需包 (Source) (1) GD2 <pre> # cd /usr/local/src # tar xzvf gd-2.0.34.tar.gz # cd gd-2.0.34 # ./configure --prefix=/usr/local/gd2 # make # make install </pre> (2) LibXML2 <pre> # cd /usr/local/src # tar xjvf libxml2-2.6.30.tar.bz2 # cd libxml2-2.6.30 # ./configure --prefix=/usr/local/libxml2 # make # make install</pre> (3) LibMcrypt <pre> # cd /usr/local/src # tar xjvf libmcrypt-2.5.8.tar.bz2 # cd libmcrypt-2.5.8 # ./configure –prefix=/usr/local/libmcrypt # make # make install</pre> (4) Apache日志截断程序 <pre> # cd /usr/local/src # tar xzvf cronolog-1.7.0-beta.tar.gz # cd cronolog-1.7.0-beta # ./configure –prefix=/usr/local/cronolog # make # make install</pre> 8. 升级OpenSSL和OpenSSH <pre> # cd /usr/local/src # tar xzvf openssl-0.9.8e.tar.gz # cd openssl-0.9.8e # ./config --prefix=/usr/local/openssl # make # make test # make install # cd .. # tar xzvf openssh-4.7p1.tar.gz # cd openssh-4.7p1 # ./configure \ "--prefix=/usr" \ "--with-pam" \ "--with-zlib" \ "--sysconfdir=/etc/ssh" \ "--with-ssl-dir=/usr/local/openssl" \ "--with-md5-passwords" # make # make install</pre> (1)禁用 SSH V1 [[协议]] 找到: <pre>#Protocol 2,1</pre> 改为: Protocol 2 (2)禁止[[root]]直接登录 此处先建立一个普通系统用户: <pre># useradd username</pre> <pre># passwd username</pre> 找到: <pre>#PermitRootLogin yes</pre> 改为: PermitRootLogin no (3)禁用服务器端GSSAPI 找到以下两行,并将它们注释: GSSAPIAuthentication yes GSSAPICleanupCredentials yes (4)禁用 [[DNS]] 名称解析 找到: <pre>#UseDNS yes</pre> 改为: UseDNS no (5)禁用客户端 GSSAPI <pre># vi /etc/ssh/ssh_config</pre> 找到: GSSAPIAuthentication yes 将这行注释掉。 最后,确认修改正确后重新启动 SSH 服务 <pre> # service sshd restart # ssh -v </pre> 确认 OpenSSH 以及 OpenSSL 版本正确。 三、编译安装L.A.M.P环境 1. 下载软件 <pre># cd /usr/local/src</pre> httpd-2.2.6.tar.bz2 MySQL-5.0.45-linux-i686-glibc23.tar.gz php-5.2.4.tar.bz2 ZendOptimizer-3.3.0-linux-glibc21-i386.tar.gz 2. 安装MySQL <pre> # tar xzvf MySQL-5.0.45-linux-i686-glibc23.tar.gz # mv MySQL-5.0.45-linux-i686-glibc23 /usr/local/ # ln -s /usr/local/ MySQL-5.0.45-linux-i686-glibc23 /usr/local/MySQL # useradd MySQL # chown -R MySQL:root /usr/local/MySQL/ # cd /usr/local/MySQL # ./scripts/MySQL_install_db --user=MySQL # cp ./support-files/MySQL.server /etc/rc.d/init.d/MySQLd # chown root:root /etc/rc.d/init.d/MySQLd # chmod 755 /etc/rc.d/init.d/MySQLd # chkconfig --add MySQLd # chkconfig --level 3 5 MySQLd on # cp ./support-files/my-huge.cnf /etc/my.cnf # mv /usr/local/MySQL/data /var/lib/MySQL # chown -R MySQL:MySQL /var/lib/MySQL/ # vi /etc/my.cnf</pre> 修改以下内容: (1) 在 [MySQL] 段增加一行: default-character-set = GBK | latin1 | utf8 | BIG5 (2) 在 [MySQLd] 段增加或修改: datadir = /var/lib/MySQL --skip-innodb default-character-set = GBK | latin1 | utf8 | BIG5 --wait-timeout = 3 | 5 | 10 max_connections = 256 | 384 | 512 max_connect_errors = 10000000 thread_concurrency = CPU个数×2 将 log-bin 注释 <pre># bin/MySQLadmin -u root password 'password_for_root'</pre> 3. 编译安装Apache <pre> # cd /usr/local/src # tar xjvf httpd-2.2.6.tar.bz2 # cd httpd-2.2.6 # ./configure \ "--prefix=/usr/local/apache2" \ "--with-included-apr" \ "--enable-so" \ "--enable-deflate=shared" \ "--enable-expires=shared" \ "--enable-rewrite=shared" \ "--enable-static-support" \ "--disable-userdir" # make # make install # echo '/usr/local/apache2/bin/apachectl start ' >> /etc/rc.local </pre> 4. 编译安装[[PHP]] <pre> # cd /usr/local/src # tar xjvf php-5.2.4.tar.bz2 # cd php-5.2.4 # ./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=/usr/local/libxml2" \ "--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" # make # make install # mkdir /usr/local/php/etc # cp php.ini-dist /usr/local/php/etc/php.ini</pre> 5. 安装Zend Optimizer <pre> # cd /usr/local/src # tar xzvf ZendOptimizer-3.3.0-linux-glibc21-i386.tar.gz # ./ZendOptimizer-3.3.0-linux-glibc21-i386/install.sh</pre> 安装Zend Optimizer过程的最后不要选择重启Apache。 6. 整合Apache与PHP <pre> # vi /usr/local/apache2/conf/httpd.conf</pre> 找到: AddType application/x-gzip .gz .tgz 在该行下面添加 AddType application/x-httpd-php .php 找到: DirectoryIndex index.html 将该行改为 DirectoryIndex index.html index.htm index.php 找到: <pre> #Include conf/extra/httpd-mpm.conf #Include conf/extra/httpd-info.conf #Include conf/extra/httpd-vhosts.conf #Include conf/extra/httpd-default.conf</pre> 去掉前面的“#”号,取消注释。 注意:以上 4 个扩展配置文件中的设置请按照相关原则进行合理配置! 修改完成后保存退出。 <pre># /usr/local/apache2/bin/apachectl restart</pre> 7. 查看确认L.A.M.P环境信息、提升 PHP 安全性 在网站根目录放置 phpinfo.php 脚本,检查phpinfo中的各项信息是否正确。 确认 PHP 能够正常工作后,在 php.ini 中进行设置提升 PHP 安全性。 <pre># vi /etc/php.ini</pre> 找到: disable_functions = 设置为: <pre> 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</pre> 四、服务器安全性设置 1. 设置系统防火墙 <pre> # vi /usr/local/sbin/fw.sh</pre> 将以下脚本命令粘贴到 fw.sh 文件中。 <pre>#!/bin/bash # Stop iptables service first service iptables stop # Load FTP Kernel modules /sbin/modprobe ip_conntrack_ftp /sbin/modprobe ip_nat_ftp # Inital chains default policy /sbin/iptables -F -t filter /sbin/iptables -P INPUT DROP /sbin/iptables -P OUTPUT ACCEPT # Enable Native Network Transfer /sbin/iptables -A INPUT -i lo -j ACCEPT # Accept Established Connections /sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # ICMP Control /sbin/iptables -A INPUT -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT # WWW Service /sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT # FTP Service /sbin/iptables -A INPUT -p tcp --dport 21 -j ACCEPT # SSH Service /sbin/iptables -A INPUT -p tcp --dport 22 -j ACCEPT</pre> <pre> # chmod 755 /usr/local/sbin/fw.sh # echo '/usr/local/sbin/fw.sh' >> /etc/rc.local # /usr/local/sbin/fw.sh</pre> == 参考来源 == *http://faq.comsenz.com/ {{Discuz! 7.2}} [[category:Discuz安装]]
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)
本页使用的模板:
模板:Discuz! 7.2
(
编辑
)