因为在现在网站中,PHP加MYSQL占用比例还是挺大的,而这个搭配一般在linux上使用的最多,也是最稳定性能最佳的,所以就要学习linux的安装和配置了;本人是第一次使用和学习LINXU,什么都不懂,我这个教程大部是引用别人的教程,然后一遍学一遍写整合到一起发布,因为是在网上一边查一边用的,大部分都是看别人的教程,所以有些大量重复的内容我没有直接复制上来,而是用的是外联的方式贴上来,然后根据我的使用情况和发现的其他的问题进行一些补充;这个教程使用就相当于傻瓜式的安装了,很简单,易学!!
好了开始教程(我是在虚拟机上操作的):
一、安装linux
目前linux的版本众多,但是整体比例和使用效果来开,最广泛的版本是:国外最多的是ubuntu 国内是centos;我这里以centos7来做教程
首先下载centos7的镜像文件,我用的是这个连接:CentOS-7-x86_64-DVD-1503-01.iso
然后按照这个教程开始安装百度安装教程(PS:如果不是用虚拟机安装可以忽略16步以前的步骤)
这里我遇到的小问题及解决办法
问题:
vmware安装centos7后没有网卡设备不能上网:
原因:
由于Vmware虚拟网卡和linux兼容问题导致驱动无法正常安装,默认的网卡类型不兼容
解决方法:
在本地window电脑上找到我们的Vmware相关虚拟机文件夹, 在“虚拟机名.vmx”文件里面追加一条设置我们网卡类型ethernet0.virtualDev = "e1000"
设置完毕后,再打开虚拟机,就能看到网卡设置已经加载了可以上网了
【下面的配置命令注意】
这里用的是CentOS7里面一些配置命令,会有一部分和CentOS7以前的CentOS命令不同,应该是系统更新改了内核,所以一些命令也改了
二,配置Apache+PHP+Mysql+phpmyadmin
这里我是参照安装教程这里我遇到的小问题及解决办法
问题:
如果提示/var/run/yum.pid已被锁定,PID为....的另一个程序正在运行
原因:
未知
解决方法:
直接在终端运行:rm -f/var/run/yum.pid将该文件直接删除,然后再次运行yum。
****************************************************************************
问题:
不能用yum命令安装phpmyadmin:yum install phpmyadmin php-mcrypt
原因:
没安装前置epel仓库
解决方法:
先安装epel仓库:yum -y install epel-release
****************************************************************************
问题:
配置非Apache默认网站目录的网站
原因:
安装Apache多站点时用的到
解决方法: 【这里假设自定义其他网站目录为"/wwwroot/网站/"】
1、cd /etc/httpd/#进入Apache根目录
2、mkdir vhost-conf.d#新建自定义配置目录“vhost-conf.d”
3、echo "Include vhost-conf.d/*.conf" >> conf/httpd.conf#把自定义配置目录写入原配置文件中调用
4、vim /etc/httpd/conf/httpd.conf#编辑配置文件,把自定义网站目录设置Apache权限
<Directory "/wwwroot/网站">
AllowOverride None
# Allow open access:
Require all granted
</Directory>
5、vim /etc/httpd/vhost-conf.d/vhost-name.conf#编辑自定义配置文件信息,这里只是配置一个网站,其他多网站,复制粘贴
<VirtualHost *:80>
ServerName 127.0.0.1#网站名字
ServerAlias 127.0.0.1#绑定域名
DocumentRoot /wwwroot/网站/#绑定网站根目录
DirectoryIndex index.html index.php#绑定网站首页
</VirtualHost>
<Directory "/wwwroot/网站/">#可不写
Options +Includes -Indexes#可不写
AllowOverride All#可不写
Order Deny,Allow#可不写
Allow from All#可不写
</Directory>#可不写
6、systemctl restart httpd#重启Apache服务
7、chmod o+x /wwwroot##这一步很重要,很多人发现配置好后打开网站还是提示无权访问服务器,
#因为如果指定的网站目录是Apach非默认的文件夹,必须还要给网站根目录的上级目录授权后Apache才能访问
****************************************************************************
问题:
上传的网站放到linux里面后中文乱码
原因:
Windows使用GBK编码,linux使用zh_CN.UTF-8编码,所以window系统做的文件上传到linux里面后中文就乱码
解决办法:
vi /etc/httpd/conf/httpd.conf#打开Apache配置文件httpd.conf
修改“AddDefaultCharset UTF-8”为“AddDefaultCharset Off”或者“AddDefaultCharset GB2312”
systemctl restart httpd#重启Apache服务器
三、配置FTP服务(vsftpd)
参照教程“RedSpace - 阿特”的《centos7搭建vsftpd环境详解(亲测)》【PS:他这个教程中有一部有错误,如下:】
{二:配置vsftpd环境}的编号23行“#\allow_writeable_chroot=YES ”少一个字母n导致后面重启vsftpd服务器一直失败,应该改为“#\nallow_writeable_chroot=YES ”就可以重启成功了
这里我遇到的小问题及解决办法
问题:
安装好vsftpd后有时候发现还是在外网用FTP打不开,在window下用tcping IP 21检测端口没开启
tcping命令下载tcping下载
原因:
端口21没打开,有时候用vi /etc/sysconfig/iptables打开防火墙配置文件后在里面添加了还不行
解决方法:
直接用图形界面勾选FTP选项
或者用命令“firewall-cmd --add-service=ftp --permanent”【启用服务】
或者“firewall-cmd --zone=public --add-port=21/tcp --permanent”【启用端口】
****************************************************************************
问题:
怎么给不同用户设置不同的FTP目录
原因:
想给不通用户设置不通目录权限,(一般情况情况新建用户只能访问新建用户的时候指定的目录,而新建用户的时候只能指定不存在的目录来新建)
解决方法:
1、*修改vsftpd配置文件“vi /etc/vsftpd/vsftp.conf”的“user_config_dir=/etc/vsftpd/vconf”等号后面是虚拟用户配置目录
2、创建用户“useradd -s /sbin/nologin 用户名”,可以用“passwd 用户名”设置密码,也可以用图形界面
3、打开虚拟用户配置目录并且新建相关的虚拟用户文件“vi /etc/vsftpd/vconf/用户名”并且配置,在里面添加“local_root=指定目录”【前面的文件夹或者文件不存在就先新建touch】
4、设置指定目录权限“chmod 777 指定目录”或者“chown 用户名:组名 指定目录 -R ”【777是文件夹最大的所有权限,其他权限百度chmod】
5、重启vsftpd服务“systemctl restart vsftpd.service”
6、然后就可以用新建的用户来登陆FTP,可以自动进入“指定目录”,而非新建用户的默认home下的默认的用户名目录了
PS:chown用来更改某个目录或文件的用户名和用户组的;hmod用来修改某个目录或文件的访问权限。
****************************************************************************
问题:
centos7中中文文件夹,用Vsftpd搭建FTP后,访问的时候中文乱码【locale查看当前系统编码】
原因:
vsftpd不能处理字符编码的转换,Windows使用GBK编码,linux使用zh_CN.UTF-8编码
解决方法:【这个问题只要看1的第1个解决办法就可以了,毕竟会在linux里面直接修改文件】
1、WINDOWS看LINUX中文乱码:
修改客户端工具编码方式;如FlashFXP客户端,选择【站点】-【站点管理器】-【选中乱码的FTP】→点击【选项】-【字符编码】-【UTF-8】
LINXUX看WINDOWS中文乱码:(centos7默认无convmv 命令,需要先安装:yum install convmv)
convmv -t GBK -f UTF-8 --notest -r wangzhan#wangzhan目录和目录下下所有文件乱码转换,解决linux下查看windows上传文件中文乱码的故障
#-f是当前编码,-t是将要转成的编码,-r是包含目录和目录下的所有,注意如果要转换的目录是中文,
#那么在输入转换的目录名的时候也必须是当前编码下的中文,并且转换后编码变了,所以网站设置里面的配置的文件夹名字可能会失效,导致网站权限不够打不开
2、修改服务器系统默认文件编码:【发现改了编码后网站还是乱码,而且改了后图形界面的防火墙打不开,还会有其他各种问题】
vim /etc/locale.conf
LANG="zh_CN.GBK" # GBK是windows中文编码格式
export LANG=zh_CN.GBK #前提是已经生成了GBK的locale
#source /etc/locale.conf#重新加载配置文件
reboot#重启系统
3、换能够处理字符编码的ftp服务端,如pureftp
完结
整体上已经解决的差不多了,下面上传两个文件,一个是我写的几个简单的命令和问题解决方法的TXT记事本CentOS笔记和vsftpd带中文注释的配置文件vsftpd.conf
好了,谢谢观看,如果您发现了什么问题或者错误,请留言,我如果看到会及时的修改调整