centos web服务器配置

linux

16-12-3 14:16:54

前置配置

1,修改主机名,需要修改两处:一处是/etc/sysconfig/network,另一处是/etc/hosts,只修改任一处会导致系统启动异常。

2,关闭SELinux,

getenforce 查看状态
setenforce 0 (临时关闭)
修改/etc/selinux/config 文件  将SELINUX=enforcing改为SELINUX=disabled 重启机器即可


1 .配置网络

/etc/sysconfig/network-scripts/ifcfg-eth0

ONBOOT=yes                     #系统启动时是否设置此网络接口,设置为yes时,系统启动时激活此设备
BOOTPROTO=static             #设置网卡获得ip地址的方式,可能的选项为static,dhcp或bootp  不要有引号
IPADDR=192.168.1.2           #如果设置网卡获得 ip地址的方式为静态指定,此字段就指定了网卡对应的ip地址
netmask=255.255.255.0       #网卡对应的网络掩码
GATEWAY=192.168.1.1        #设置本机连接的网关的IP地址
IPV6INIT=no

设置dns 
/etc/resolv.conf
nameserver 8.8.8.8 #google域名服务器
nameserver 8.8.4.4 #google域名服务器

重新启动网络配置# service network restart或# /etc/init.d/network restart


2 测试网络连通性

ping 192.168.10.11 查看网络是否畅通

dig www.baidu.com 查看ip dns (最小安装没有,需要  yum install bind-utils)

yum install links 建议浏览器 (links,w3m,Lynx)


3 远程登陆及中文设置
默认是安装ssh 服务的

下载Sshell 登陆即可 

中文设置

Locale 查看当前语言
Locale -a 查看支持语言包
#yum groupinstall chinese-support 
/etc/sysconfig/i18n
LANG="en_US.UTF-8"
修改LANG="zh_CN.UTF-8"
重启生效


4.安装Apache  (Nginx)

yum install httpd httpd-devel 
/etc/init.d/httpd start #启动apache 
chkconfig httpd on      #设为开机启动
/etc/httpd/conf/httpd.conf  #修改配置信息
默认/var/www/html

5.安装mysql 

yum install mysql mysql-server mysql-devel 
/etc/init.d/mysqld start 启动mysql 
chkconfig mysqld on      #设为开机启动

6.安装php 
yum install php php-mysql php-common php-gd php-mbstring php-mcrypt php-devel php-xml 
/etc/init.d/httpd start  重新apache


7.修改主页文件

默认web地址是  var/www/html 目录  
给html 读写权限 chmod -R 777 html
创建index.php    touch index.php
编辑index.php    vi index.php
index.php
<?php
echo '192.168.10.201';
file_put_contents("list.txt",'|'.date("Y-n-j G:i:s")."\r\n",FILE_APPEND);
phpinfo();
?>
浏览地址
http://192.168.10.201/

8.防火墙设置

 /etc/init.d/iptables stop   #关闭防火墙即可查看到apache 是否安装成功

/etc/init.d/iptables start 开启防火墙  (80端口无法访问了) 

/etc/init.d/iptables -F   #清楚防火墙规则 

/etc/init.d/iptables -L   #查看防火墙规则 


*iptables: No config file.    1.  iptables -P OUTPUT ACCEPT  2.service iptables save

/etc/init.d/iptables status 查看 防火墙状态

#vi /etc/sysconfig/iptables  直接编辑文件

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT   打开80

键入命令需保存 /etc/init.d/iptables save 生效  (打开防火墙注意 ssh端口)

/etc/init.d/iptables restart 重启生效

chkconfig iptables on

9 修改远程登陆端口

禁止root登陆需要新建一个其他用户
新建用户 useradd xinyonghu
新建密码 passwd  xinyonghu

vi /etc/ssh/sshd_config
1把Port=22注释去掉,再把端口22更改为你想更改的端口。(关闭防火墙的22端口,打开新端口)

2找到#PermitRootLogin yes,去掉注释,把yes改为no。  禁止root远程登陆

3PermitEmptyPasswords no #禁止空密码登录

/etc/init.d/sshd restart


远程用 xinyonghu 链接 

su root  切换root用户
密钥登陆

10 安装ftp
yum install vsftpd
/etc/init.d/vsftpd start 启动

vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO   #控制是否允许匿名用户登入,YES 为允许匿名登入,NO 为不允许

local_enable=yes      #控制是否允许本地用户登入,YES 为允许本地用户登入,NO为不允许
write_enable=YES      #是否允许登陆用户有写权限。属于全局设置
dirmessage_enable=YES   放置欢迎话语

connect_from_port_20=YES 指定FTP使用20端口进行数据传输,默认值为YES。

ftpd_banner=Welcome to BOB's FTP server 这里用来定义欢迎话语的字符串

chroot_local_user=NO   用于指定用户列表文件中的用户是否允许切换到上级目录。默认值为NO。

chroot_list_enable=YES   设置是否启用chroot_list_file配置项指定的用户列表文件
chroot_list_file=/etc/vsftpd.chroot_list   用于指定用户列表文件,该文件用于控制哪些用户可以切换到用户家目录的上级目录
listen yes
userlist_enable=YES   是否启用vsftpd.user_list
userlist_deny=YES/NO(YES)  这个参数不存在的哦 默认是YES 无需添加

/etc/vsftpd/ftpusers   禁止使用vsftpd的用户列表文件。
/etc/vsftpd/user_list  禁止或允许使用vsftpd的用户列表文件。
      缺省情况禁止访问ftp用户列表
      userlist_deny=NO时,仅允许user_list中指定的用户访问FTP服务器。

useradd   username -s /sbin/nologin  新建一个不能登陆系统的ftp用户
vi /etc/vsftpd/chroot_list  ftp用户类表
一行一个用户名 

 /etc/init.d/vsftpd restart
可能会出现500 OOPS:cannot change directory

1 /usr/sbin/sestatus -v  查看SELinux状态
#临时关闭 setenforce 0
修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
重启机器即可


因为设置是主动模式 可能需要调整ftp工具的设置


设置ftp用户登陆的目录

user_config_dir=/etc/vsftpd/userconf   //添加读取用户配置目录(需要手动添加配置)
mkdir /etc/vsftpd/userconf
vi /etc/vsftpd/userconf/ftp    用户名是文件名
local_root=/root/ftp           登陆后的目录


11.安装memcache和php扩展

yum -y install memcached 安装memcache  
memcached -d -p 11211 -u root   //启动
chkconfig memcached on  //开机启动
yum -y install php-pecl-memcache //安装php扩展

vi /etc/php.ini  

12 安装xcache 扩展

yum install php-xcache  

vi /etc/php.d/xcache.ini 

yum install xcache-admin

把/usr/share/xcache 放到web目录即可

------------------------------------------------------------------------------------------------------------

chkconfig  改变服务运行级别
#chkconfig --list  输出 所有服务列表
#chkconfig --add 增加服务
#chkconfig --del 删除服务
#chkconfig httpd on 设置自动启动
#chkconfig --level 35 httpd on  设置3和5模式 自动启动


修改mysql密码
输入 mysql 
mysql>; USE mysql; 
mysql>; UPDATE user SET Password=PASSWORD('newpassword') WHERE user='root'; 
mysql>; FLUSH PRIVILEGES; 
quit 退出

让root 可以远程登陆
mysql -u root -p   
use mysql;

GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;      修改用户可以远程登陆 


下载phpmyadmin压缩包  如果是.zip

unzip xxxx.zip 解压   

如果提示unzip 没有安装 yum install -y unzip zip



phpmyadmin 目录必须是755 权限

chmod -R 755 phpmyadmin目录



MySQL 设置数据库表名不区分大小写
1.用 root 登录,修改 /etc/my.cnf (注意:以实际 my.cnf 配置文件路径为准)
2.在 [mysqld] 节点下,加入一行: lower_case_table_names=1
3.重启 MySQL 即可


服务器隐藏 Apache 版本信息
1.$ vi /etc/httpd/conf/httpd.conf
2.将下面两行添加到 Apache 配置文件底部。
ServerSignature Off
ServerTokens Prod
3.重启 Apache 即可


隐藏php版本信息
1.$ vi /etc/php.ini 
2.expose_php = On改成 Off



CentOS 系统执行 yum update 更新不升级系统内核 
针对一般业务场景,建议不要自行升内核,涉及到内核存在重大安全漏洞场景除外
1.首先打开 /etc/yum.conf 文件。
2.然后在 [main] 后面加入以下两行代码
exclude=kernel* 
exclude=centos-release*



关闭系统不需要的服务
service acpid stop  chkconfig acpid off   #停止服务,取消开机启动  #电源进阶设定,常用在 Laptop 上
service autofs stop  chkconfig autofs off  #停用自动挂载档桉系统与週边装置
service bluetooth stop  chkconfig  bluetooth  off   #停用Bluetooth蓝芽
service cpuspeed stop  chkconfig  cpuspeed  off   #停用控制CPU速度主要用来省电
service cups stop   chkconfig cups off    #停用 Common UNIX Printing System 使系统支援印表机
service ip6tables stop  chkconfig ip6tables off   #禁止IPv6
########################################################
  如果要恢复某一个服务,可以执行下面操作
  service acpid start  chkconfig acpid on  


禁止非root用户执行/etc/rc.d/init.d/下的系统命令
chmod -R 700 /etc/rc.d/init.d/*
chmod -R 777 /etc/rc.d/init.d/*    #恢复默认设置
给下面的文件加上不可更改属性,从而防止非授权用户获得权限
chattr +i /etc/passwd
chattr +i /etc/shadow
chattr +i /etc/group
chattr +i /etc/gshadow
chattr +i /etc/services    #给系统服务端口列表文件加锁,防止未经许可的删除或添加服务
lsattr  /etc/passwd   /etc/shadow  /etc/group  /etc/gshadow   /etc/services   #显示文件的属性
  注意:执行以上权限修改之后,就无法添加删除用户了。
如果再要添加删除用户,需要先取消上面的设置,等用户添加删除完成之后,再执行上面的操作
chattr -i /etc/passwd     #取消权限锁定设置
  chattr -i /etc/shadow
  chattr -i /etc/group
  chattr -i /etc/gshadow
  chattr -i /etc/services   #取消系统服务端口列表文件加锁
现在可以进行添加删除用户了,操作完之后再锁定目录文件



二、创建SWAP分区
云服务上增加1024M的swap空间
1、dd if=/dev/zero of=/tmp/swap bs=1M count=1024 #创建1024M的文件块
2、mkswap /tmp/swap #创建swap文件
3、swapon /tmp/swap #激活swap文件
4、swapon -s #查看swap
5、修改/etc/fstab文件,增加以下内容,让系统引导时自动启动
vi /etc/fstab #在最后添加下面代码
/tmp/swap swap swap default 0 0
:wq! #保存退出 重启