基于CentOs 7平台搭建的LAMP[Apache2.4, Mariadb5.5, PHP7.2, Redis3.2]
1.Cent OS 7安装
-
Cent OS 7镜像文件下载地址:http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso,选择国内站点下载即可;
-
UltraISO镜像文件下载,百度搜索即可;
-
利用UltraISO软件将Cent OS镜像文件写入U盘,制作启动盘,注意写入结束后将U盘更名为 CENTOS 或其他易记的名字;
-
将待安装系统的电脑设置为U盘启动,进入下图界面后选择第一项,按Tab键编辑路径
将 vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet
改成 vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=CENTOS quiet
之后按Enter键开始安装;
-
进入如下界面后,选择语言,
-
继续后进入下图界面,设置【软件选择】,不知为何原因选择桌面版本安装完成启动后总是出现雪花点,最后无奈选择了最小安装,注意【安装源】会自动识别,无需手动选择;安装位置本人选择系统自动分区;注意配置好网络;完成后开始安装,安装期间配置后root帐号;
-
安装完成后重启并完成相关配置后进入系统,注意更新CentOS自带的Yum源后,方可安装PHP7。
rpm -Uvh https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
当然,您也可以选择下面的这个命令,也是一样的效果。
yum install epel-release -y
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
安装VIM软件。
yum install vim
2.Apache(Linux系统下叫httpd)安装及配置
使用如下代码以云方式安装Apache
yum install httpd #安装httpd
systemctl enable httpd #开机启动
systemctl start httpd #启动服务
systemctl status httpd #查看服务状态
3.MariaDb 5安装及配置
使用如下代码以云方式安装MariaDb并创建帐号
yum install mariadb mariadb-libs mariadb-server #安装mariadb及相关服务
systemctl enable mariadb #开机启动
systemctl start mariadb #启动服务
systemctl status mariadb #查看服务状态
mysql_secure_installation #执行安全初始化并进行相关设置,初始用户名为root,密码为空
mysql -uroot -p
MariaDB [(none)]>set password for 'root'@'localhost' = password('root');
MariaDB [(none)]>create user "admin"@'%' identified by 'admin';
4.PHP7的安装及配置
yum install php72w php72w-cli php72w-fpm php72w-common php72w-devel php72w-embedded php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml
配置PHP与Apache
vim /etc/httpd/conf/httpd.conf
在文件尾部加两行
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
并添加修改下面行
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
然后重新启动服务
systemctl restart httpd
5.Redis3的安装及配置
yum install redis
Redis启动方式:
redis-server & #后台启动使用默认配置
redis-server #直接启动
#redis-server (配置路径)如:
redis-server /etc/redis.conf
#后台启动,配置redis.conf中的
daemonize on #改为yes
Redis停止方式:
redis-cli -a (密码) -h 127.0.0.1 -p 6379 shutdown #有密码
redis-cli -h 127.0.0.1 -p 6379 shutdown #没有密码
其他控制方式:
/sbin/chkconfig redisd #验证redis服务状态
systemctl start redisd #启动redis服务
systemctl status redisd #查看启动状态
Redis配置
vim /etc/redis/6379.conf
#将 bind 127.0.0.1 改为 bind 127.0.0.1 192.168.1.4 #本地IP
6.FTP的安装与配置
FTP安装
yum install -y vsftpd #安装
systemctl enable vsftpd.service #设置开机启动
systemctl start vsftpd.service #启动
systemctl stop vsftpd.service #停止
systemctl status vsftpd.service #查看状态
FTP配置
vim /etc/vsftpd/vsftpd.conf #打开配置文件
:set number #显示行号
anonymous_enable=NO #修改配置 12 行
anon_mkdir_write_enable=YES #修改配置 33 行
chown_uploads=YES #修改配置48行
async_abor_enable=YES #修改配置72行
ascii_upload_enable=YES #修改配置82行
ascii_download_enable=YES #修改配置83行
ftpd_banner=Welcome to blah FTP service. #修改配置86行
chroot_local_user=YES #修改配置100行
#添加下列内容到vsftpd.conf末尾
use_localtime=YES
listen_port=21
idle_session_timeout=300
guest_enable=YES
guest_username=vsftpd
user_config_dir=/etc/vsftpd/vconf
data_connection_timeout=1
virtual_use_local_privs=YES
pasv_min_port=40000
pasv_max_port=40010
accept_timeout=5
connect_timeout=1
allow_writeable_chroot=YES
7.防火墙配置
IPtables 的设置方式:
vi /etc/sysconfig/iptables
#编辑iptables文件,添加如下内容,开启21端口
-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 40000:40010 -j ACCEPT
firewall 的设置方式:
firewall-cmd --zone=public --add-service=ftp --permanent
firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --zone=public --add-port=40000-40010/tcp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
8.selinux问题
selinux配置比较复杂,为避免不必要的麻烦,初学者在学习时可直接禁用它。
selinux会导致很多问题,下面列出一些本人遇到的一些问题:
1、如ftp登陆后看不到文件、即使为777模式也无法上传和修改文件(文件夹)
2、php脚本无法新建文件或文件夹
3、远程打开网页后出现Redis运行错误
4、mariadb/mysql的一些莫名其妙的错误
具体停用及部分配置如下:
sestatus #查看selinux状态1
getenforce #查看selinux状态2
setenforce 0 #设置SELinux 成为permissive模式
setenforce 1 #设置SELinux 成为enforcing模式
永久停用selinux:
vim /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled
reboot #重启机器
FTP问题解决方法
getsebool -a | grep ftpd #查看与ftpd相关的selinux权限
#以下是显示出来的权限,off是关闭权限,on是打开权限
allow_ftpd_anon_write --> off
allow_ftpd_full_access --> off
allow_ftpd_use_cifs --> off
allow_ftpd_use_nfs --> off
ftpd_connect_db --> off
ftpd_use_passive_mode --> off
ftp_home_dir --> off
#配置selinux权限
setsebool -P ftp_home_dir 1
setsebool -P allow_ftpd_full_access 1