LAMP安装有顺序:先安装Apache或Mysql,最后安装PHP
1.安装Apache
yum -y install httpd httpd-manual mod_ssl mod_perl mod_auth_mysql
设置开机启动apache
systemctl enable httpd.service
启动apache
systemctl start httpd.service
Apache 安装成功,虚拟主机等配置下面再说。
2.安装Mysql
安装之前先删除以前版本,以免安装不成功。
查看mysql的rpm包
rpm -qa | gerp mysql
查到之后就删除
yum remove 文件名(可以一次多个名字,以空格分隔)
例如:yum remove -y mysql mysql mysql-server mysql-libs compat-mysql51
查看多余文件没删干净
find / -name mysql
删除多余文件
rm -rf 文件名
例如:rm -rf /etc/my.cnf
开始安装
rpm -ivh http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
yum install -y mysql-server
设置开机启动Mysql
systemctl enable mysqld.service
开启服务
systemctl start mysqld.service
查看Mysql5.7默认密码
grep 'temporary password' /var/log/mysqld.log
登陆Mysql,输入用户名root,复制粘贴密码
mysql -uroot -p
[root@localhost html]# grep 'temporary password' /var/log/mysqld.log
2018-05-30T00:56:22.104303Z 1 [Note] A temporary password is generated for root@localhost: 4/jjw=Pq2s>a 标红部分就是初始密码
修改密码
SET PASSWORD = PASSWORD('123456');
查看数据库
show databases;
Mysql配置安装成功。
配置远程连接数据库( 详细配置 )
创建用户
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'a123456!' WITH GRANT OPTION;
(第一个root表示用户名,%表示所有的电脑都可以连接,也可以设置某个ip地址运行连接,第二个 a123456! 表示密码)。
命令立即执行生效
flush privileges;
查看用户
SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
配置成功
exit;退出
3、安装PHP
1.删除以前的php版本(跟上面删除mysql的命令是一样的)
先查看
rpm -qa | grep php
再删除
yum remove 文件名
2. 配置yum源
事先确认yum源的链接是不是有效的。
yum install epel-release
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
3. 确认安装的php版本
yum list --enablerepo=remi --enablerepo=remi-php56 | grep php
4. 安装php5.6
yum install --enablerepo=remi --enablerepo=remi-php56 php php-opcache php-pecl-apcu php-devel php-mbstring php-mcrypt php-mysqlnd php-phpunit-PHPUnit php-pecl-xdebug php-pecl-xhprof php-pdo php-pear php-fpm php-cli php-xml php-bcmath php-process php-gd php-common
php-opcache及php-pecl-apcu会有效的提高php执行速度。
5. 确认php版本
php -v
安装成功
4、重启Apache
systemctl restart httpd.service
/***************************************************************************************/
1、官方安装文档
http://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/
2、下载 Mysql yum包
http://dev.mysql.com/downloads/repo/yum/
下载到本地再上传到服务器,或者使用wget 直接下载
wget http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm
3、安转软件源
将platform-and-version-specific-package-name 替换为你下载的rpm名
sudo rpm -Uvh platform-and-version-specific-package-name.rpm
例如
rpm -Uvh mysql57-community-release-el7-10.noarch.rpm

4、安装mysql服务端
yum install -y mysql-community-server
如果网络环境不是很好,执行完命令就可以去泡杯茶
5、启动mysql
service mysqld start
systemctl start mysqld.service
6、检查mysql 的运行状态
service mysqld status
systemctl status mysqld.service
7、修改临时密码
7.1 获取MySQL的临时密码
只有启动过一次mysql才可以查看临时密码
grep 'temporary password' /var/log/mysqld.log
这里的密码是YdsGaxOq>2n!
7.2 登陆并修改密码
mysql -uroot -p
mysql> select @@log_error;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql>
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root123';
使用默认的密码登陆
用该密码登录到服务端后,必须马上修改密码,不然会报如下错误:
修改密码
如果密码设置太简单出现以下的提示
如何解决ERROR 1819 (HY000): Your password does not satisfy the current policy requirements呢? 这里直接提供解决方案文末有详细的说明
必须修改两个全局参数:
首先,修改validate_password_policy参数的值
mysql> set global validate_password_policy=0;
这样,判断密码的标准就基于密码的长度了。这个由validate_password_length参数来决定。
再修改密码的长度:
mysql>setglobalvalidate_password_length=1;
查看密码的设定最小长度:
mysql> select @@validate_password_length;
再次执行修改密码就可以了:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root123';
参考页面:https://www.cnblogs.com/ivictor/p/5142809.html。
创建mysql数据库用户
允许外网 IP 访问[创建test用户,任意主机都可以访问,登录密码为password]
mysql> create user 'test'@'%' identified by 'password';
或者
mysql> insert into mysql.user(Host,User,Password) values ("%","test",password("password"));
允许本地 IP 访问 localhost, 127.0.0.1
mysql> create user 'test'@'localhsot' identified by 'password';
或者
mysql> insert into mysql.user(Host,User,Password) values ("localhsot","test",password("password"));
8、授权其他机器登陆
FLUSH PRIVILEGES;
9、关于密码设置的详细说明
授权root用户拥有所有的数据库的权限:
mysql> ALLPRIVILEGESON*.*TO'root'@'%'IDENTIFIEDBY'mypassword'WITHGRANTOPTION;
授权某个数据库用户(这里用test 表示数据库用户)拥有某个数据库(这里用testdb表示数据库名称)的所有权限(授予用户通过外网IP对于该数据库的全部权限):
mysql> grant all privileges on `testdb`.* to 'test'@'%' identified by 'password';
授权test用户拥有所有数据库的某些权限:
mysql> grant select,delete,update,create,drop on *.* to test@"%" identified by "password";
[test用户对所有数据库都有select,delete,update,create,drop 权限]
授权test用户拥有所有数据库的所有权限:
grant all privileges on *.* to 'test'@'%' identified by 'password';
[注释:*.* 意思是所有的数据库中的所有表,点号左边的*是所有的数据库名称,右边的是所有的表。test 是数据库用户,% 是代表任意主机地址(不包括localhost|127.0.0.1) password 是连接密码]
刷新权限:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
在虚拟机linux里安装了httpd,即appache,启动后,按正常情况在主机是可以用浏览器通过访问虚拟机linux的ip来访问的。如果出现无法访问的情况,解决办法可以参考如下:
这里我的虚拟机联网方式为物理连接,且ip与主机不同,但在同一网段。
1、先确定虚拟机可不可以访问外网,可通过ping www.baidu.com测试,如果不行,先百度或者参考其他资料或setup自行配置好ip相关信息(当然,前提是你主机联网了)
2、主机与虚拟机通过各自ip互ping ,如果主机可以ping虚拟机,而虚拟机却不可以ping主机,考虑下是不是主机电脑防火墙没有关,很多情况是这个原因,关闭防火墙可以解决。
3、如果以上都没问题,还是没能解决,则可能是iptable的限制。通过如下命令把tcp的80端口配置为允许任何ip访问就可以了
命令:
iptables -I INPUT -p TCP --dport 80 -j ACCEPT
注意linux的命令是区分大小写的
但是,上面第三步的方法只是临时生效的,只要你重启了虚拟机或者说重启了linux,就必须重新设置才可以访问,解决办法如下:
在命令行下输入:
vi /etc/selinux/config
1
会打开vi编辑器
修改文件:
将SELINUX=enforcing
这一行注释掉,并且加上一行,如下:
#SELINUX=enforcing
SELINUX=disabled
1
2
再保存,后继续输入命令:
root@Fedora6 ~]# chkconfig --level 3 iptables off
[root@Fedora6 ~]# chkconfig --level 5 iptables off
1
2
之后重启linux,生效,就可以了
这时主机就可以访问虚拟机开启的apache了(这里只是用apache示例,应该说可以同主机浏览器访问虚拟机ip了)
阿里云服务器要在安全组那边设置端口号
这样在同一个ip地址下就可以网站就可以用不同的端口号来访问不同的站点。
配置如下:
Listen 81
≷VirtualHost *:81>
DocumentRoot "/var/www/www1"
# ServerName localhost
# ErrorLog "logs/dummy-host2.example.com-error_log"
# CustomLog "logs/dummy-host2.example.com-access_log" common
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
$gl;/VirtualHost>
这样就用81端口好来访问当前目录下(/var/www/www1)的站点文件了
如xx.xx.xx.xx:81来访问站点
/**************/
参考文档:
https://yq.aliyun.com/articles/106387?spm=5176.8091938.0.0.ef15fL。
http://www.cnblogs.com/zyw-205520/p/6843092.html。
https://yq.aliyun.com/articles/178693?spm=5176.8091938.0.0.CLE36i。
http://blog.csdn.net/u014410695/article/details/72779324。
https://blog.csdn.net/zymx14/article/details/51440722。