通过本机访问虚拟机的Apache
虚拟机安装ubuntu这就不用说了吧?装个和谐版的虚拟机,然后读入ubuntu镜像安装。
但一样平常按照“经典”模式新建的虚拟机,都是NAT模式。
在虚拟机中打开terminal,安装net-tools工具:

sudo apt install net-tools
安装完后,输入
ifconfig
即可查看本机ip地址,用于xshell的主机地址。
这时候还不能连接xshell,还需安装openssh-server:
sudo apt install openssh-server
若利用root登录,须要进行以下步骤,否则,可直接跳过。建议利用非root登录。
输入:
sudo vim /etc/ssh/sshd_config
若提示vim未安装,可先安装vim后再试:
sudo apt install vim
将文件改为如图所示:
以上完成后,即可利用xshell进行登录:
主机地址为之前看过的虚拟机的ip地址。用户名为root,或ubuntu的登任命户名;密码为ubuntu的登录密码。若root用户一贯提示连接不堪利,实在弗成可创建一个新用户。
连接成功
安装MySQL连接xshell后,接下来就可以不用去管虚拟机了,直接在shell里操作即可。
在xshell中输入:
apt-get install mysql-server mysql-client
然后按照提示输入root用户的密码,之后会自动完成安装。
一样平常安装完会自动启动做事,以是不用去管。
如果你便是想手动重启,好吧,给你指令:
service mysql stop 停滞
service mysql start 启动
service mysql restart 重启
ps -aux | grep mysqld 查看是否启动
netstat -tl | grep mysql查看是否监听
MySQL8版本之后,有很大变动,旧版本的一些指令失落效了,这里放几个新的常见的指令:
修正root密码:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
打开远程访问
用root用户访问:
GRANT ALL PRIVILEGES ON . TO 'root'@'%'IDENTIFIED BY '密码' WITH GRANT OPTION;
这里许可root用户远程的时候,如果涌现如下的缺点,就先去把root用的host改成%,再运行上面那句话
非root用户,这里就要先去创建一个用户:
切换数据库
mysql>use mysql;
创建用户(user1:用户名;%:任意ip,也可以指定,root默认便是localhost;123456:登录密码)
mysql>CREATE USER 'user1'@'%' IDENTIFIED BY '123456';
授权,默认创建的用户权限是usage,便是无权限,只能登录而已,(all:所有权限,这里有select,update等等权限,可以去搜一 下;后面的.:指天命据库.指定表,这里是所有;to后面便是你刚才创建的用户)
mysql>grant all on . to 'user1'@'%';
把稳:用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:
GRANT all ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;
安装apache2还是在xshell中输入:
sudo apt install apache2
现在,通过ubuntu的浏览器进入到http://localhost,该当看到apache2的测试页:
如果顺利的话会涌现:It worke!
apache的默认文档根目录是在ubuntu上的/var/www目录 ,配置文件是/ etc/apache2/apache2.conf。配置存储在的子目录在/etc/apache2目录。
安装php7.0可以直接安装php7和apache的php7的模块,输入:
apt-get install php7.0 libapache2-mod-php7.0
安装完须要重启
/etc/init.d/apache2 restart
安装其他的一些模块
sudo apt-get install php7.0-cli php7.0-common libapache2-mod-php7.0 php7.0 php7.0-mysql php7.0-fpm php7.0-mbstring php-gettext php-gd php-curl
sudo a2enmod php7.0
安装 phpMyAdminphpMyAdmin是一个网页管理MySQL的工具,实行以下安装命令:
apt-get -y install phpmyadmin
跳出来的选择框中选择Apache2,安装过程中还会哀求你输入数据库的密码。
然后在var/www/html/目录下创建phpmyadmin软连接,实行命令:
sudo ln -s /usr/share/phpmyadmin /var/www/html/
修正Apache配置文件包含phpmyadmin配置文件:
sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
sudo a2enconf phpmyadmin.conf
sudo service apache2 reload
然后通过浏览器访问localhost/phpmyadmin/进行验证:
(可选项)安装APCu 加速PHP
apt-get -y install php-apcu
本机访问虚拟机web做事器好了,到这里为止,所有的设置都已经完成了,接下来便是用本机去访问做事器了。
由于防火墙关闭了http的80和数据库的3306端口,以是要打开:
sudo ufw allow 80
sudo ufw allow 3306
打开本机的浏览器(
本机成功访问了虚拟机的web做事器。
做几个网页试试既然能访问了,那我们甩几个网页进去跑跑看咯!
进入到ubuntu的/var/www/html文件夹中,将做好的网页放入,并将主页名字改为index.html,这做前真个都知道缘故原由啦,不知道的面壁去。
好了,这里又有问题了,怎么把文件放进去呢?
有两种办法:
1、通过xshell对应的xftp,如果通过此方法,须要改一下/www文件夹的权限:
sudo chmod +x /var/www/html
2、通过设置虚拟机的共享文件夹
反正方法见告你了,怎么做搜去吧、熬夜伤身体,
【赠】php操作MySQL数据库
对付前端,难免要操作数据库,
1、吸收用户输入的三个字段数据,并插入数据表中:
<?php
$dbhost = 'localhost:3306'; // mysql做事器主机地址
$dbuser = 'root'; // mysql用户名
$dbpass = '123456'; // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
die('连接失落败: ' . mysqli_error($conn));
}
echo '连接成功<br />';
// 设置编码,防止中文乱码
mysqli_query($conn , \"大众set names utf8\公众);
$runoob_title = '学习 Python';
$runoob_author = 'RUNOOB.COM';
$submission_date = '2016-03-06';
$sql = \"大众INSERT INTO runoob_tbl \"大众.
\"大众(runoob_title,runoob_author, submission_date) \"大众.
\公众VALUES \"大众.
\"大众('$runoob_title','$runoob_author','$submission_date')\"大众;
mysqli_select_db( $conn, 'RUNOOB' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
die('无法插入数据: ' . mysqli_error($conn));
}
echo \"大众数据插入成功\n\"大众; mysqli_close($conn);
?>
2、显示数据表 runoob_tbl 的所有记录
<?php
$dbhost = 'localhost:3306'; // mysql做事器主机地址
$dbuser = 'root'; // mysql用户名
$dbpass = '123456'; // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
die('连接失落败: ' . mysqli_error($conn));
}
// 设置编码,防止中文乱码
mysqli_query($conn , \公众set names utf8\"大众);
$sql = 'SELECT runoob_id, runoob_title, runoob_author, submission_date FROM runoob_tbl';
mysqli_select_db( $conn, 'RUNOOB' );
$retval = mysqli_query( $conn, $sql ); if(! $retval )
{
die('无法读取数据: ' . mysqli_error($conn));
}
echo '<h2>教程 mysqli_fetch_array 测试<h2>';
echo '<table border=\公众1\公众><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>';
while($row = mysqli_fetch_array($retval, MYSQLI_ASSOC))
{
echo \"大众<tr><td> {$row['runoob_id']}</td> \"大众.
\"大众<td>{$row['runoob_title']} </td> \公众.
\"大众<td>{$row['runoob_author']} </td> \"大众.
\公众<td>{$row['submission_date']} </td> \"大众.
\"大众</tr>\"大众;
}
echo '</table>'; mysqli_close($conn);
?>
结语以上便是本次的全部内容,欢迎大家评论留言、相互学习,咋们下次见。