您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > CentOS+Nginx+PHP+Mysql+安全指南全环境搭建笔记
CentOS+Nginx+PHP+Mysql+安全指南全环境搭建笔记QQ群:117366848这是爱月在配置学校内部下载站服务器时候做的笔记参考了张宴大大和wangyu1314的教程,结合自己的实际情况写出的笔记一来记录下来未来如果需要还可以用到二来分享给大家,笔记里的部分初级内容上面所提到的两位大大没有写出来这是第一部分,系统安装后的初始环境设置主要内容有:[用户管理与用户安全][设置系统时间及自动同步系统时间][关闭不需要的服务][系统更新][用OpenSSH构建SSH服务器]CentOS+Nginx+PHP+Mysql+安全指南全环境搭建笔记(1)-系统安装后的初始环境设置[普通用户的建立与删除]#useraddlovemoon↑建立用户名为lovemoon的普通用户#passwdlovemoon↑为用户lovemoon设置密码Changingpasswordforuserlovemoon.NewUNIXpassword:↑输入密码(密码不会被显示)RetypenewUNIXpassword:↑再次输入密码确认两次密码一致passwd:allauthenticationtokensupdatedsuccessfully.↑密码设置成功#userdel-rlovemoon↑删除用户名为lovemoon的普通用户[将普通用户设置到不同的用户组中]#usermod-Gwheellovemoon↑将普通用户lovemoon加在管理员组wheel组中#usermod-Gwheel,↑将普通用户lovemoon同时加在wheel和组中[设置只有管理员wheel组才可以使用su命令进入root权限]#vi/etc/pam.d/su←打开这个配置文件authrequired/lib/security/$ISA/pam_wheel.souse_uid↑修改文件为此状态(大约在第6行的位置)#echoSU_WHEEL_ONLYyes/etc/login.defs↑添加语句到login.defs文件行末[设置系统时间及自动同步系统时间]#yuminstall–yntp↑安装NTP官方的时间同步程序(NTP:中国国家授时中心)#/usr/sbin/ntpdate-spool.ntp.org↑以NTP官方服务器为准调整本地时间#crontab-e↑编辑计划任务列表03***/usr/sbin/ntpdate-spool.ntp.org↑编辑文件到此状态,表示每天凌晨3点自动同步时间#/sbin/servicecrondreload↑重载计划任务配置[关闭不需要的服务]#setup↑开启图形设置界面选择Systemservice进入服务列表使用空格键选择[*]或取消[]服务只保留以下服务,未列出的服务一律关闭:crondirqbalance↑仅当服务器CPU为S.M.P架构或支持双核心、HT技术时,才需开启,否则关闭。iptablesmicrocode_ctlnetworksshdsyslogvsftpdyum-updatesd[系统更新]#vi/etc/yum.repos.d/CentOS-Base.repo↑修改系统更新地址文件将所有baseurl=修改为baseurl=↑更新系统文件[用OpenSSH构建SSH服务器]#vi/etc/ssh/sshd_config↑用vi打开SSH的配置文件将#Protocol2,1修改为Protocol2↑只允许SSH2方式的连接(Centos5.2中已包含此设置)将#ServerKeyBits768修改为ServerKeyBits1024↑将ServerKey强度改为1024比特将#PermitRootLoginyes修改为PermitRootLoginno↑不允许用root进行登录(wheel组用户SSH登陆后可用su命令使用root权限)将#PasswordAuthenticationyes修改为PasswordAuthenticationno↑不允许密码方式的登录(SSH远程管理用密钥登陆会安全很多)将#PermitEmptyPasswordsno修改为PermitEmptyPasswordsno↑不允许空密码登录#vi/etc/hosts.deny↑修改屏蔽规则,在此限定仅有哪些IP地址可以SSH远程登陆本服务器sshd:ALL↑在文件末尾添加这一行,屏蔽所有的SSH连接请求#vi/etc/hosts.allow↑修改允许规则,在此限定仅有哪些IP地址可以SSH远程登陆本服务器sshd:222.17.177.sshd:10.3.92.25sshd:10.3.97.137↑在文件末尾添加这三行,只允许来自222.17.177网段、IP地址为10.3.92.25和IP地址为10.3.97.137的SSH连接请求#/etc/rc.d/init.d/sshdrestart↑重新启动SSH服务器Stoppingsshd:[OK]Startingsshd:[OK]↑SSH服务器重新启动成功#su-lovemoon↑用普通用户lovemoon登陆服务器$ssh-keygen-trsa↑建立公钥与私钥Generatingpublic/privatersakeypair.Enterfileinwhichtosavethekey(/home/kaz/.ssh/id_rsa):↑钥匙的文件名,这里保持默认直接回车Createddirectory'/home/kaz/.ssh'Enterpassphrase(emptyfornopassphrase):↑输入密钥口令(使用SSH远程软件时会用到)Entersamepassphraseagain:↑再次输入密钥口令(使用SSH远程软件时会用到)Youridentificationhasbeensavedin/home/kaz/.ssh/id_rsa.↑建立了id_rsa私钥文件Yourpublickeyhasbeensavedin/home/kaz/.ssh/id_rsa.pub.↑建立了id_rsa.pub公钥文件$cd~/.ssh↑进入lovemoon用户SSH配置文件的目录(~/目录相当于/home/lovemoon/)$cat~/.ssh/id_rsa.pub~/.ssh/authorized_keys↑公钥内容输出到authorized_keys文件中$rm-f~/.ssh/id_rsa.pub↑删除原来的公钥文件$chmod400~/.ssh/authorized_keys↑将新建立的公钥文件属性设置为400$exit↑退出普通用户的登录登陆为root用户,插入U盘#fdisk-l↑显示目前所有硬盘,找到U盘设备名为sdb1(具体情况具体对待,这里各服务器有所不同)#mount/dev/sdb1/mnt↑挂载U盘设备到/mnt目录#mv/home/lovemoon/.ssh/id_rsa/mnt/↑移动id_rsa私钥文件到U盘中#umount/mnt/↑卸载U盘-Nginx+PHP+MySQL环境搭建[利用yum命令配置、升级所需程序库]#sudo-s#LANG=C#yum-yinstallgccgcc-c++autoconflibjpeglibjpeg-devellibpnglibpng-develfreetypefreetype-devellibxml2libxml2-develzlibzlib-develglibcglibc-develglib2glib2-develbzip2bzip2-develncursesncurses-develcurlcurl-devel↑安装、升级这些程序库[下载环境所需文件到指定目录]#mkdir-p/software↑在根目录建立software文件夹#cd/software↑进入software文件夹#wget://://php-fpm.anight.org/downloads/head/php-5.2.6-fpm-0.5.9.diff.gz#wget://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.12.tar.gz#wget://mirror.optus.net/sourceforge/m/mc/mcrypt/mcrypt-2.6.7.tar.gz#wget://mirror.optus.net/sourceforge/m/mh/mhash/mhash-0.9.9.tar.gz#wget://bart.eaccelerator.net/source/0.9.5.3/eaccelerator-0.9.5.3.tar.bz2↑下载这些文件到software目录[编译安装PHP5.2.6所需的支持库]#tarzxvflibiconv-1.12.tar.gz↑解压(tar)参数(zxvf)文件名(libiconv-1.12.tar.gz)#cdlibiconv-1.12/↑进入解压出来的文件的文件夹(libiconv-1.12)#./configure--prefix=/usr/local↑配置安装信息指定安装目录为/usr/local#make↑make安装文件#makeinstall↑开始安装#cd../↑返回上级目录(此处即software目录)#tarzxvflibmcrypt-2.5.8.tar.gz#cdlibmcrypt-2.5.8/#./configure#make#makeinstall#/sbin/ldconfig#cdlibltdl/#./configure--enable-ltdl-install#make#makeinstall#cd../../#tarzxvfmhash-0.9.9.tar.gz#cdmhash-0.9.9/#./configure#make#makeinstall#cd../#cp/usr/local/lib/libmcrypt.*/usr/lib#ln-s/usr/local/lib/libmhash.so.2/usr/lib/libmhash.so.2#tarzxvfmcrypt-2.6.7.tar.gz#cdmcrypt-2.6.7/#./configure#make#makeinstall#cd../[编译安装MySQL5.1.26-rc]#/usr/sbin/groupaddmysql↑建立mysql用户组#/usr/sbin/useradd-gmysqlmysql↑建立mysql用户到mysql用户组中#tarzxvfmysql-5.1.26-rc.tar.gz#cdmysql-5.1.26-rc/#./configure--prefix=/usr/local/web
本文标题:CentOS+Nginx+PHP+Mysql+安全指南全环境搭建笔记
链接地址:https://www.777doc.com/doc-4896386 .html