以下文章基于Laravel学院》》》》》
php5.3.3+apache2+mysql4.2(版本太低了)
阿里云论坛上的资源很丰富,查了下安装LAMP环境,很多基础性的东西已经内置了,比如防火墙的配置和端口的开启,统统不需要再做操作,所以安装下来也很简单:
1、MySQL的安装
MySQL安装涉及到的软件包:
mysql: MySQL客户端以及基础库文件。
mysql-libs: MySQL客户端所必需的库文件。
mysql-server: MySQL服务器端以及相关文件。
安装命令: 先 sudo yum update 更新源
yum install mysql mysql-libs mysql-server
2、PHP的安装
预备工作:
同样需要预先安装EPEL软件。这里不安装也不影响此部分,但是在以后的一些教程中可能会安装一些不在标准软件源中提供的软件,所以在此给出安装命令。
安装命令:
wget http://mirrors.sohu.com/fedora-epel/6/i386/epel-release-6-8.noarch.rpm rpm -ivh epel-release-6-8.noarch.rpm
PHP安装涉及软件包:
php.x86_64 : 服务器端PHP程序
php-cli.x86_64 : PHP的命令行工具
php-common.x86_64 : PHP的公用文件
php-fpm.x86_64 : PHP的Fastcgi进程管理模块。主要用于配置Nginx中,如果配置为Apache则可不装字模块
php-gd.x86_64 : PHP的GD库,主要用于图像处理
php-imap.x86_64 : PHP的IMAP模块
php-ldap.x86_64 : PHP的LADP模块
php-mbstring.x86_64 : PHP的多字节字符处理模块
php-snmp.x86_64 : PHP的SNMP协议模块
php-xml.x86_64 : PHP的XML模块
php-zts.x86_64 : PHP的线程安全模块。这个是用于Apache的,工作于Apache的Worker模式下。在此列出来仅为讨论子模块用途,具体效果未知,安装命令中也不会进行安装。希望有了解的人可以发信息个我讨论一下此模块的与Apache的工作效果。不过Centos中既然提供了此模块,相信其稳定性还是通过了验证的。
安装命令:
yum install php php-cli php-common php-fpm php-gd php-imap php-ldap php-mbstring php-snmp php-xml
3、Apache的安装
我购置的服务器默认已安装,无需再次安装
如果需要安装的话,命令是:
yum install httpd
4、启动服务
service mysqld start service httpd start
打开浏览器,输入IP此时就应该能看到欢迎页了。
以上LAMP环境搭建好了,接下来我们学习如何修改密码并连接远程服务器
假如你的root密码忘记,可重置mysql的root密码:
一、修改mysql的配置文件my.cnf
sudo vi /etc/my.cnf
1.在[mysqld]的段中加上一句:skip-grant-tables
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-name-resolve
skip-grant-tables
保存并且退出vi。
(或执行 mysqld_safe --skip-grant-tables &)
2.重新启动mysqld
# /etc/init.d/mysqld restartStopping MySQL: [ OK ]
3.登录并修改MySQL的root密码
# /usr/bin/mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 3.23.56
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> UPDATE user SET Password = password ( 'new-password' ) WHERE User = 'root' ;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 2 Changed: 0 Warnings: 0
mysql> flush privileges ;
Query OK, 0 rows affected (0.01 sec)
mysql> quit
Bye
4.将MySQL的登录设置修改回来
# vi /etc/my.cnf
将刚才在[mysqld]的段中加上的skip-grant-tables删除
保存并且退出vi。
5.重新启动mysqld
# /etc/init.d/mysqld restart
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]
二、
停止mysql服务
/etc/init.d/mysqld stop
sudo mysqld_safe --skip-grant-table&
mysql
use mysql;
update user set password = password('yourpasswd') where user = 'root';
flush privileges;
重启下mysql服务即可重新用新密码登录
/etc/init.d/mysqld restart
允许远程连接mysql
通过navicat连接MySQL的时候发生的这个错误
ERROR 1130: Host ***.***.***.*** is not allowed to connect to this MySQL server
说明所连接的用户帐号没有远程连接的权限,只能在本机(localhost)登录。
需更改 MySQL 数据库里的 user表里的 host项
把localhost改称%
一、
登陆到MySQL ,首先 use MySQL;
按照别人提供的方式update的时候,出现错误。
MySQL> update user set host='%' where user = 'root';
ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'
然后查看了下数据库的host信息如下:
MySQL> select host from user where user = 'root';
+-----------------------+
| host |
+-----------------------+
| % |
| 127.0.0.1 |
| localhost.localdomain |
+-----------------------+
3 rows in set (0.00 sec)
host已经有了%这个值,所以直接运行命令:
MySQL>flush privileges;
二、
mysql> grant all privileges on *.* to 'root'@'%' with grant option;
Query OK, 0 rows affected (0.02 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> select user.host from user;
+-----------+--------------+
| user| host|
+-----------+--------------+
| root| %|
| root| 127.0.0.1|
| repl_user | 192.168.1.52 |
+-----------+--------------+
3 rows in set (0.00 sec)
允许指定IP访问mysql,yourIpPass为你ip登陆的密码
mysql> grant all privileges on *.* to 'root'@***.***.***.**** identified by 'yourIpPass';
QueryOK, 0 rows affected (0.00 sec)