阿里云服务器centos7.2部署LAMP实操记录
部署全过程如下:
1、服务器管理员(root)口令设置,在阿里云管理界面中设置
2、维护电脑上安装putty
3、putty登陆云服务器
4、安装Apache
yum install -y httpd
启动服务:systemctl start httpd.service
设置开机自动启动:systemctl enable httpd.service
配置:
vi /etc/httpd/conf/httpd.conf #编辑文件
Options Indexes FollowSymLinks #修改为:Options Includes ExecCGI FollowSymLinks(允许服务器执行CGI及SSI,禁止列出目录)
Require all denied修改为granted
:wq! #保存退出
5、设置防火墙
systemctl start firewalld启动防火墙
Centos7下的防火墙已经由iptables改为firewall,使用firewall-cmd命令开放80及443端口:以下是直接开,也可以用富规则针对ip段放开。
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --zone=public --add-port=22/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --reload
6、设置SELinux为permissive模式(阿里云默认关闭,无需修改)
编辑 vim/etc/sysconfig/selinux SELinux=enforcing 修改为disabled 关闭SELinux,重启永久生效。
7、安装MariaDB数据库
CentOS 7.0中,已经使用MariaDB替代了MySQL数据库。
安装:yum -y install mariadb-server
启动:systemctl start mariadb.service
systemctl enable mariadb.service
配置:cp /usr/share/mysql/my-huge.cnf /etc/my.cnf 覆盖原配置就好了。
设置数据库管理员密码:mysql_secure_installation 一路y就可以了,当然第一次y后面要输入两次密码。
增加用户见后面。
8、安装PHP5
安装PHP主程序:yum -y install php
安装PHP组件,使PHP支持 MariaDB
yum -y install php-mysql php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel
重启:systemctl restart mariadb.service
systemctl restart httpd.service
配置:(不配置也能用)
vi /etc/php.ini
date.timezone = PRC #把前面的分号去掉,改为date.timezone = PRC
disable_functions = passthru,exec,system……#列出PHP可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用。
expose_php = Off #禁止显示php版本的信息
short_open_tag = ON #支持php短标签
open_basedir = .:/tmp/ #设置表示允许访问当前目录(即PHP脚本文件所在之目录)和/tmp/目录,可以防止php木马跨站
9、测试:(/var/www/html/为网站根目录)
vi /var/www/html/index.php 输入<?php phpinfo(); ?>
:wq保存退出。
打开http://服务器ip 如果能看到PHP配置信息页,说明PHP服务器正常。
至此,LAMP平台就搭建好了。
10、如果觉得数据库管理起来比较麻烦的话,可以用yum install phpMyAdmin安装图形化管理工具。
11、建个新用户,修改/etc/ssh/sshd_config,关闭root的ssh,修改ssh端口,如:改成11022。再设置防火墙配置合适ip段允许访问。
12、mysql建个用户,设置适当权限,尽量不要用root直接访问数据库。
几点经验:
1. win10自带scp,传文件方便
cmd中可直接输入命令给centos服务器上传文件,注意文件路径要绝对路径
如:scp d:/123/test.txt :/var/www/html/
scp -r d:/123 :/var/www/html/
-r 目录拷贝
注: win7安装putty后可以用pscp,用法同scp
2. centos下file_put_contents()无法写入文件的原因是没有文件夹权限
直接修改目标文件夹/文件
# chmod 777 文件夹或文件名称
如:chmod 777 /var/www/html/yj/data.txt
3. centos区分大小写,因此文件名最好统一用小写字母。
4. systemctl restart mariadb.service #重启MariaDB
systemctl restart httpd.service #重启apache
5. 一定要安装php-mysql,否则数据库无法调用。
yum install php-mysql
6. MYSQL命令
(1)登录:mysql -h主机地址 -u用户名 -p用户密码
(2)退出:exit(回车)。
(3)修改密码:mysqladmin -u用户名 -p旧密码 password 新密码
(4)增加用户:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码"
如:grant create,select,insert,update,delete on *.* to identified by "password";
grant create,select,insert,update,delete on *.* to "%" identified by "password"; # "%"表示任意主机
grant all privileges on *.* to ‘%‘ identified by "root"; # all privileges表示所有权限
修改权限方法:
use mysql;
update user set host = ’%’ where user = ’newuser’;
7.cp覆盖安装不提示(cp前面的‘\‘一定要有)
\cp -f /usr/share/mysql/my-huge.cnf /etc/my.cnf