这篇文章不算是傻瓜式教学一步步来,因为你有点linux的命令基础;
配置服务器坚持一个原则,能不安装的东西尽量不安装,所以我这里不安装FTP,不搭建服务器端的FTP服务。
CentOS 6.8 64位 阿里公共镜像
别忘记命令
(编辑文档:按“i”进入编辑;如果保存退出,按Esc键后,再“:wq”回车 )
(查找关键字:在命令模式下敲斜杆( / )这时在状态栏屏幕左下脚 就出现了 “/” 然后输入你要查找的关键字敲回车就可以了.如果你要继续查找此关键字,敲字符 n 就可以继续查找了。)
第一步:【服务器到手第一步:配置防火墙:开启80端口、3306端口】
# service iptables stop
1.先关闭防火墙
# vi /etc/sysconfig/iptables
2.打开/etc/sysconfig/iptables文件,注意,如果没有这个文件,就直接建立一个,保存就可以,复制如下代码:
# Firewall configuration written by system-config-firewall # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT
例:如果要增加哪个端口就直接 如下加ftp端口21:
在REJECT行之前添加如下代码:
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 21 -j ACCEPT
# service iptables start
或 /etc/init.d/iptables restart
3.保存和关闭文件,重启防火墙
——————————————
第二步:关闭SELINUX
# vi /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
:wq #保存,关闭
shutdown -r now #重启系统
——————————————
第三步:【安装zip解压软件】
#yum install -y unzip zip (先安装zip程序)
# zip -r data.zip data (将data文件夹压缩成了data.zip格式)
# zip -r yasuo.zip abc.txt dir1 (我想把一个文件abc.txt和一个目录dir1压缩成为yasuo.zip:)
# unzip yasuo.zip (我下载了一个yasuo.zip文件,想解压缩:)
# unzip abc?.zip (我当前目录下有abc1.zip,abc2.zip和abc3.zip,我想一起解压缩它们:注释:?表示一个字符,如果用*表示任意多个字符。)
# unzip -v large.zip (我有一个很大的压缩文件large.zip,我不想解压缩,只想看看它里面有什么)
# unzip -t large.zip (我下载了一个压缩文件large.zip,想验证一下这个压缩文件是否下载完全了)
# unzip -j music.zip (我用-v选项发现music.zip压缩文件里面有很多目录和子目录,并且子目录中其实都是歌曲mp3文件,我想把这些文件都下载到第一级目录,而不是一层一层建目录)
# ls -l (查看所属的组和用户)
——————————————
第四步:【安装配置Apache】
# yum install httpd (安装Apache)
# chkconfig –levels 235 httpd on (让apache随系统启动而启动)
# service httpd start (启动apache)
或:/etc/init.d/httpd start
# service httpd restart (重启apache)
或:/etc/init.d/httpd restart
Apache配置
# vi /etc/httpd/conf/httpd.conf
(提示:linux下的查找命令 直接/)
ServerTokens OS
修改为:ServerTokens Prod (表示:在出现错误页的时候不显示服务器操作系统的名称)
ServerSignature On
修改为:ServerSignature Off (表示:在错误页中不显示Apache的版本)
Options Indexes FollowSymLinks
修改为:Options Includes ExecCGI FollowSymLinks (允许服务器执行CGI及SSI,禁止列出目录)
AddHandler cgi-script .cgi
修改为:AddHandler cgi-script .cgi .pl (允许扩展名为.pl的CGI脚本运行)
AllowOverride None
修改为:AllowOverride All (允许.htaccess)
AddDefaultCharset UTF-8
修改为:AddDefaultCharset GB2312 (添加GB2312为默认编码)
Options Indexes MultiViews FollowSymLinks
修改为: Options MultiViews FollowSymLinks(不在浏览器上显示树状目录结构)
DirectoryIndex index.html index.html.var
修改为:DirectoryIndex index.html index.htm Default.html Default.htm index.php Default.php index.html.var (设置默认首页文件,增加index.php)
KeepAlive Off
修改为:KeepAlive On (允许程序性联机)
MaxKeepAliveRequests 100
修改为:MaxKeepAliveRequests 1000 (增加同时连接数)
NameVirtualHost *.80
去掉前面的# 否则每次重启apache就会出现:[warn] _default_ VirtualHost overlap on port 80,the first has precedence
找到 #ServerName www.example.com:80
修改为 ServerName www.osyunwei.com:80 这里设置为你自己的域名,如果没有域名,可以设置为localhost 否则每次重启apache就会出现 httpd: Could not reliably determine the server’s fully qualif domain name, using ::1 for ServerName
[Esc后:wq] 保存退出
# rm -f /etc/httpd/conf.d/welcome.conf /var/www/error/noindex.html # 删除默认测试页
# service httpd restart
虚拟主机案例写法:
# vi /etc/httpd/conf/httpd.conf
进入httpd.conf,然后在文件的最后部分加入如下:
例:
<VirtualHost *:80> DocumentRoot /var/www/html/sohu.com ServerName www.sohu.com DirectoryIndex index.html index.php default.php </VirtualHost>
DocumentRoot 行的 sohu.com 是网站的文件夹,可以先mkdir sohu.com创建它
ServerName 行的 www.sohu.com 是绑定的域名
——
配置禁止某个IP访问的设置:
# vi /etc/httpd/conf/httpd.conf
进入httpd.conf,在配置主机前加上如下:例:
<VirtualHost 106.15.183.131> ServerName 106.15.183.131 <Location /> Order Allow,Deny Deny from all </Location> </VirtualHost>
域名配置列表
# vi /etc/hosts (重要:进入添加域名绑定列表)
106.14.197.163 img.fozhu920.com
106.14.197.163 blog.fengshui86.com
106.14.197.163 web001.fozhu920.com
Esc :wq
配置用户组:
在CentOS中建立用户www:
# groupadd www # useradd --shell /sbin/nologin -g www www
在Apache配置文件httpd.conf中设置User,Group
User www Group www
设置网站文件的用户和用户组为www
假设网站部署在/var/www/html下
# cd /var/www/html/
# chown -R www:www /var/www/html/sohu.com //前者为用户名称,后者为群组名, *表示全部文件
给新加文件夹 加www用户,加上可读写权限: (注意www用户必须是Apache 相关配置里的user用户: # vi /etc/httpd/conf/httpd.conf)
# chown -R www /var/www/html/sohu.com # chmod -R 775 /var/www/html/sohu.com
注意 chown与chmod的命令是不同的意思,自己试试
——————————————
第五步:安装配置MySQL
yum install mysql mysql-server #询问是否要安装,输入Y即可自动安装,直到安装完成
/etc/init.d/mysqld start #启动MySQL
chkconfig mysqld on #设为开机启动
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf #拷贝配置文件(注意:如果/etc目录下面默认有一个my.cnf,直接覆盖即可)
# service mysqld restart
2、为root账户设置密码
mysql_secure_installation
注意:先回车,后Y,再输入密码
输入2次密码,回车 根据提示一路Y
最后出现:Thanks for using MySQL!
MySql密码设置完成,重新启动 MySQL:
/etc/init.d/mysqld restart #重启
/etc/init.d/mysqld stop #停止
/etc/init.d/mysqld start #启动
———-
数据库文件以后一般在这里:
/var/lib/mysql
———-
增加mysql连接数
whereis my.cnf
vi /etc/my.cnf
max_connections = 1200 #增加mysql连接数
wait_timeout = 20 #断开超过10秒的连接
=========以下mysql关于修复表示例:
mysql -u root -p (登陆mysql服务器方式)
vi /etc/my.cnf (编辑mysql设置)
max_connections = 1200 (my.cnf里 增加mysql连接数)
wait_timeout = 20 (my.cnf里 断开超过10秒的连接)
whereis my.cnf (常用查找文件命令)
/var/lib/mysql/
mysql -u root -p
mysql> use wordpress;
mysql> repair table wp_options; (修复表)
mysql> show databases; (看看有哪些数据库)
—————————–
mysql数据库中的某个表【修复方法】
# mysqlcheck -u root -p 110xunren 检查数据库表有无问题
# mysqldump -u root -p 110xunren > 110xunren.sql 备份数据库表
# mysqlcheck -u root -p 110xunren –auto-repair 修复表
每次都要输入mysql密码哦
以下是查
# mysql -u root -p
Enter password:
mysql> use wordpress;
mysql> select * from wp_posts;
ERROR 145 (HY000): Table ‘./wordpress/wp_posts’ is marked as crashed and should be repaired
mysql> Bye
修复 MySQL 数据库数据表问题可以由 mysqlcheck 来解决,先用 mysqlcheck 查看一下:
# mysqlcheck -u root -p wordpress
Enter password:
然后添加 –auto-repair 参数自动修复,最好修复前备份一下数据库:
# mysqldump -u root -p wordpress > wordpress.sql
Enter password:
# mysqlcheck -u root -p wordpress –auto-repair
Enter password:
wordpress.wp_commentmeta
error : Table upgrade required. Please do “REPAIR TABLE `wp_commentmeta`” or dump/reload to fix it!
wordpress.wp_comments
error : Table upgrade required. Please do “REPAIR TABLE `wp_comments`” or dump/reload to fix it!
wordpress.wp_links
error : Table upgrade required. Please do “REPAIR TABLE `wp_links`” or dump/reload to fix it!
wordpress.wp_options
error : Table upgrade required. Please do “REPAIR TABLE `wp_options`” or dump/reload to fix it!
wordpress.wp_postmeta
error : Table upgrade required. Please do “REPAIR TABLE `wp_postmeta`” or dump/reload to fix it!
wordpress.wp_posts
error : Table upgrade required. Please do “REPAIR TABLE `wp_posts`” or dump/reload to fix it!
wordpress.wp_term_relationships OK
wordpress.wp_term_taxonomy
error : Table upgrade required. Please do “REPAIR TABLE `wp_term_taxonomy`” or dump/reload to fix it!
wordpress.wp_terms
error : Table upgrade required. Please do “REPAIR TABLE `wp_terms`” or dump/reload to fix it!
wordpress.wp_usermeta
error : Table upgrade required. Please do “REPAIR TABLE `wp_usermeta`” or dump/reload to fix it!
wordpress.wp_users
error : Table upgrade required. Please do “REPAIR TABLE `wp_users`” or dump/reload to fix it!
Repairing tables
wordpress.wp_commentmeta OK
wordpress.wp_comments OK
wordpress.wp_links OK
wordpress.wp_options OK
wordpress.wp_postmeta OK
wordpress.wp_posts OK
wordpress.wp_term_taxonomy OK
wordpress.wp_terms OK
wordpress.wp_usermeta OK
wordpress.wp_users OK
service httpd restart
service mysqld restart
——————————————
第六步:安装配置PHP5
1、安装PHP5
yum install php
根据提示输入Y直到安装完成
2、安装PHP组件,使 PHP5 支持 MySQL
yum install php-mysql php-gd libjpeg* php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt
这里选择以上安装包进行安装
根据提示输入Y回车
/etc/init.d/mysqld restart #重启MySql
/etc/init.d/httpd restart #重启Apche
3、php配置
vi /etc/php.ini #编辑
date.timezone = PRC #在946行 把前面的分号去掉,改为date.timezone = PRC
disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname
#在386行 列出PHP可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用。
expose_php = Off #在432行 禁止显示php版本的信息
magic_quotes_gpc = On #在745行 打开magic_quotes_gpc来防止SQL注入 (改过)
short_open_tag = ON #在229行支持php短标签
open_basedir = .:/tmp/ #在380行 设置表示允许访问当前目录(即PHP脚本文件所在之目录)和/tmp/目录,可以防止php木马跨站,如果改了之后安装程序有问题(例如:织梦内容管理系统),可以注销此行,或者直接写上程序的目录/data/www.osyunwei.com/:/tmp/ (注意这步有可能会使网站出问题)
:wq! #保存退出
service mysqld start
/etc/init.d/mysqld restart #重启MySql
/etc/init.d/httpd restart #重启Apche
测试篇
cd /var/www/html
vi index.php #输入下面内容
:wq! #保存退出
# chown -R www /var/www/html/sohu.com/phpmyadmin
# chmod -R 775 /var/www/html/sohu.com/phpmyadmin
chown -R www /var/www/html/sohu.com
chown -R 775 /var/www/html/sohu.com
========================
【phpmyadmin问题】
Cannot start session without errors, please check errors given in your PHP and/or webserver log file and configure your PHP installation properly
https://segmentfault.com/1190000000617578
【linux下载命令】
wget http://www.linuxde.net/testfile.zip
详细说明:http://man.linuxde.net/wget
wget http://www.waimao6.com/wordpress.zip
【移动wordpress后台登录界面没反应的情况】
解决方案:
第一步:
chown -R mysql:mysql /var/lib/mysql 修改用户组和用户
第二步:
chmod -R 755 /var/lib/mysql 修改文件读写权限(注意权限)
chmod -R 777 /var/lib/mysql/mysql.sock (注意mysql.sock得777权限)
第三步:
mysqladmin -u root -p flush-tables 因为新搬来的数据库这时只能读,还不能写,这个很重要!
例:
chown -R mysql:mysql /var/lib/mysql
chmod -R 755 /var/lib/mysql/xunren99
chmod 666 /var/lib/mysql
chmod -R 755 /var/lib/mysql
chmod -R 777 /var/lib/mysql/mysql.sock
【权限值对照片表】
444 r–r–r–
600 drw——-
644 drw-r–r–
666 drw-rw-rw-
700 drwx——
744 drwxr–r–
755 drwxr-xr-x
777 drwxrwxrwx
chmod -R 644 /data/common.inc.php
转自:http://www.liuzhongwei.com/page/1004.html
声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。