搭建lamp(CentOS7+Apache+MySQL+PHP)环境
本文参考资料:
1.如何搭建lamp(CentOS7+Apache+MySQL+PHP)环境http://www.cnblogs.com/zakun/p/5840073.html
2.Linux系统MySQL开启远程连接 http://www.cnblogs.com/chenjw-note/p/5887908.html
3.centos7 mysql数据库安装和配置 http://www.cnblogs.com/starof/p/4680083.html
物理机安装:
1.Linux系统用的是: CentOS Linux release 7.3.1611 (Core)
2. 版本: Linux version 3.10.0-514.10.2.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (RedHat 4.8.5-11) (GCC) ) #1 SMP Fri Mar 3 00:04:05 UTC 2017
安装过程(以下都是在root用户权限):
一、安装Apache
1.安装yum -y install httpd
2.开启apache服务systemctl start httpd.service
3.设置apache服务开机启动systemctl enable httpd.service
4.验证apache服务是否安装成功
在本机浏览器中输入虚拟机的ip地址,CentOS7查看ip地址的方式为:ip addr
(阿里云不需要用这种方式查看,外网ip已经在你主机列表那里给你写出来了的;)
这里是访问不成功的
(阿里云用外网访问,能成功,不需要做以下步骤)
查了资料,说法是,CentOS7用的是Firewall-cmd,CentOS7之前用的是iptables防火墙;要想让外网能访问到apache主目录,就需要做以下的操作:firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload
然后再访问外网ip,如果看到apache默认的页面--有Testing 123...字样,便是成功安装了apache服务了;
二、安装PHP
1.安装yum -y install php
2.重启apache服务systemctl restart httpd
或者systemctl restart httpd.service
然后,你可以写一个php文件在浏览器中运行一下了;
eg:vi /var/www/html/info.php
i<?php phpinfo(); ?>
Esc:wq
然后,在自己电脑浏览器输入 127.0.0.1/info.php
运行,会出现php的一些信息
三、安装MySQL
1.官网下载安装mysql-server
# wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
# rpm -ivh mysql-community-release-el7-5.noarch.rpm
# yum install mysql-community-server
安装成功后重启mysql服务。
# service mysqld restart
初次安装mysql,root账户没有密码。
[root@yl-web yl]# mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.6.26 MySQL Community Server (GPL)
Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.01 sec)
mysql>
设置密码
# mysql -uroot -p
// 更新 mysql 库中 user 表的字段:
MariaDB [(none)]> use mysql;
MariaDB [mysql]> UPDATE user SET password=password('newpassword') WHERE user='root';
MariaDB [mysql]> flush privileges;
MariaDB [mysql]> exit;
不需要重启数据库即可生效。
在mysql安装过程中如下内容:
Installed:
mysql-community-client.x86_64 0:5.6.26-2.el7 mysql-community-devel.x86_64 0:5.6.26-2.el7
mysql-community-libs.x86_64 0:5.6.26-2.el7 mysql-community-server.x86_64 0:5.6.26-2.el7
Dependency Installed:
mysql-community-common.x86_64 0:5.6.26-2.el7
Replaced:
mariadb.x86_64 1:5.5.41-2.el7_0 mariadb-devel.x86_64 1:5.5.41-2.el7_0 mariadb-libs.x86_64 1:5.5.41-2.el7_0
mariadb-server.x86_64 1:5.5.41-2.el7_0
远程连接设置
把在所有数据库的所有表的所有权限赋值给位于所有IP地址的root用户。
mysql> grant all privileges on *.* to root@'%'identified by '123456';
或者
mysql> GRANT ALL ON *.* TO 'root'@'%';
mysql> flush privileges; //命令立即生效
mysql> exit;
如果是新用户而不是root,则要先新建用户
mysql>create user 'username'@'%' identified by 'password';
说明: mysql>create user '用户名'@'%' ip地址 by '密码'
此时就可以进行远程连接了。
数据库连接
1.远程连接是root进行连接的用户。
2.本地项目连接 有127.0.0.1 不可以使用 就尝试 localhost 连接ip设置。
四、将PHP和MySQL关联起来yum search php
,选择你需要的安装:yum -y install php-mysql
五、安装常用的PHP模块
例如,GD库,curl,mbstring,...
1.安装:yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel
注:如果 不安装GD库,php项目中的图片不显示比如:验证码
2.重启apache服务systemctl restart httpd.service
然后,再次在浏览器中运行info.php,你会看到安装的模块的信息;
至此,LAMP环境就搭建好了。
注:初次将项目放入yum安装的目录/var/www/html/文件下,进行浏览器登陆http://127.0.0.1/index.php首页的图片全没有出现,
解决办法: 问题网站没有权限访问文件内容,打开项目内图片查看权限
[root@localhost jncf]# cd /var/www/
[root@localhost www]# ls
cgi-bin html
[root@localhost www]# chmod -R 777 *;
远程示例:(来源:http://www.cnblogs.com/chenjw-note/p/5887908.html)
1.root用户用来远程连接
GRANT ALL PRIVILEGES ON *.* TO 'itoffice'@'%' IDENTIFIED BY 'itoffice' WITH GRANT OPTION;
(第一个root表示用户名,%表示所有的电脑都可以连接,也可以设置某个ip地址运行连接,第二个123456表示密码)
2.执行 flush privileges;命令立即生效
3.查询数据库的用户(看到如下内容表示创建新用户成功了)
SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
4.使用exit命令退出MySQL
然后打开vim /etc/mysql/my.cnf
将bind-address = 127.0.0.1
设置成bind-address = 0.0.0.0(设备地址)
重新启动(命令如下):
/etc/init.d/mysql stop
/etc/init.d/mysql start
5.查看端口号
show global variables like 'port';
6.设置navicat连接。
7.点击连接测试看到如下内容表示成功。