阿里云服务器 :Linux环境下搭建Apache+php+mysql
时间:2022-03-15 15:13
以前我用的是Windows2012 的服务器,那时候只是抱着玩一玩的心态,所有用的是Windows,但是后来被导师给DISS了,于是决定改服务器的操作系统:
(一)下载安装php+mysql+apache
我选的操作系统是Linux的Ubuntu系统,使用的工具是xshell,xftp
1.切换管理员身份 //这一步我没用,我进入的时候就是root权限
在ubuntu中需要用root身份进行操作,所以用下面的命令确保以root身份登录:
sudo su
2.开始安装mysql5
apt-get install mysql-server mysql-client
你将被要求提供一个mysql的root用户的密码,我们需要在红色区域设置密码。
new password for the mysql root user: repeat password for the mysql root user:
3.安装apache2
apache2的是作为一个ubuntu的软件包,因此我们可以直接用下面命令安装它:
apt-get install apache2
现在,您的浏览器到http://localhost,你应该看到apache2的测试页:
如果顺利的话会出现:
It work!
apache的默认文档根目录是在ubuntu上的/var/www/html目录 ,配置文件是/ etc/apache2/apache2.conf。配置存储在的子目录在/etc/apache2目录。
4.安装php7.0
我们可以直接安装php7和apache的php7的模块,如下:
apt-get install php7.0 libapache2-mod-php7.0
安装完需要重启
/etc/init.d/apache2 restart
6.测试的php7并获取php7安装的详细信息
默认网站的文件根目录是在/var/www/html下中。现在我们将在该目录中创建一个小型php文件(info.php的)在浏览器中调用它。该文件将显示很多关于我们的php安装,如安装的php版本和有用的一些细节。
vi /var/www/html/info.php
在系统文件/var/www/html下建立文件info.php,里面编写
<?php
phpinfo()
?>
(ESC + :wq 保存并退出vi)
现在,我们可以用浏览器访问http://localhost/info.php 或者 http://ip/info.php
正如你所看到的,php正常工作.如果你继续向下滚动,你会看到所有在php中已经启用的模块。mysql是没有列出,这意味着我们没有在php5支持mysql。
7.php获得mysql的支持
让php在mysql中获得支持,我们可以安装的php-mysql软件包。安装一些其他的php模块,以及您可能需要的应用程序,这是一个好主意:
apt-cache search php
还安装需要安装的
apt-get install (所有可安装的都装上)
现在重新启动apache2的:
/etc/init.d/apache2 restart
现在,重载http://localhost/info.php在您的浏览器,并再次向下滚动到模块部分。现在,你应该找到许多新的模块,包括mysql模块:
8.安装phpmyadmin
phpmyadmin是一个网络接口,通过它可以管理你的mysql数据库。
apt-get install phpmyadmin
phpmyadmin会自动安装在/usr/share/phpmyadmin下,然后将phpmyadmin拷贝到/var/www目录下面:
cp -r /usr/share/phpmyadmin /var/www/html
运行http://localhost/phpmyadmin/index.html,报错The mbstring extension is missing. Please check your PHP configuration.
修改php.ini文件(可以通过浏览http://localhost/info.php,在Loaded configuration file栏中找到php.ini文件所在的位置),gedit或vim修改php.ini文件:找到这一行:;extension=php_mbstring.dll,去掉句首的分号,保存退出。之后再次重启:
/etc/init.d/apache2 restart
再次浏览http://localhost/phpmyadmin/index.html,正常进入phpmyadmin了
(二)我打算在我自己的win10系统上面用Navicat for MySQL连接服务器上的MySQL
首先需要在Linux服务器上面添加相应的安全组
这是添加成功后的情况:
------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------
1.输入密码回车,登录;
mysql -u root -p
2.授权远程用户登录
2.1.对所有 root
用户授权:
GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘root用户密码‘ WITH GRANT OPTION;
2.2.对指定 IP 的 root
用户授权:
GRANT ALL PRIVILEGES ON *.* TO root@‘指定的IP地址‘ IDENTIFIED BY ‘root用户密码‘ WITH GRANT OPTION;
2.3.也可以授权指定的表,这就不搞的那么麻烦了,反正本地自己用。
3.重载授权表 //很重要 必须做
FLUSH PRIVILEGES;
4.exit
退出 Mysql
另外,我还遇到了一种情况
Navicat连接mysql数据库报错2003 - Can‘t connect to MySQL server on ‘*.*.*.*‘ (60 "Operation timed out)
分析问题:
这句话的意思是“不能够连接到主机(名称为localhost)上的MYSQL服务”。这样问题就明了了。既然连接不到,原因就可能是:
1----主机localhost上不存在MYSQL服务;
2----主机上存在MYSQL服务,但是服务未启动。
1)查看哪些端口被打开 netstat -anp
127.0.0.1:3306 -- 指mysql数据库仅能在本地下访问;
(2)我们把127.0.0.1:3306改为0.0.0.0:3306,这样才能让所有用户可以远程访问mysql数据库;
打开/etc/mysql/mysql.cnf
找到bind-address= 127.0.0.1
把它改成 bind-address= 0.0.0.0
(mysql5.7.24版本,配置文件目录是:/etc/mysql/mysql.conf.d/mysqld.cnf)
重启生效;
命令:service mysql restart //这里需要注意,是mysql而不是mysqld ,我因为mysqld搞得弄不对,踩了很多坑
之后就连接成功了。
参考资料: