在Ubuntu Server下配置LAMP环境
1. 下载Ubuntu Server,地址https://www.ubuntu.com/download/server
2. 在虚拟机上安装Ubuntu Server。根据安装引导过程一步步安装,跟在自己电脑安装Windows操作系统类似。安装中会设置一个用户名和密码,安装成功后显示输入用户名的提示。大概是下图中的样子:

3. 一般情况下,我们会使用远程管理工具,我这里使用的是xShell。下载xShell并安装在自己电脑,直接百度xShell在百度软件中心下载就行。新建连接如下图:

填写Name,Protocol选择SSH,Host填写Ubuntu Server的IP 地址(在Ubuntu Server中查看IP地址的命令为ifconfig),Port Number默认22,点击OK后出现下图:

New Session(2)即为刚刚新建的session,点击connect发现连接失败,因为Ubuntu Server还没有下载openssh Server,在Ubuntu Server中使用如下命令下载并开启SSH服务:
更新软件列表:sudo apt-get update
安装openssh:sudo apt-get install openssh-server
启动服务:/etc/init.d/ssh start
本机测试是否能够成功登录:ssh -l 用户名 本机ip
此时再connect即可成功,如下图:

4. 安装Apache服务器
在Xshell中输入命令: sudo apt-get install apache2
这个时候遇到一个错误:E:could not get lock /var/lib/dpkg/lock -open
原因是:可能是有另外一个程序正在运行,导致资源被锁不可用。而导致资源被锁的原因,可能是上次安装时没正常完成,而导致出现此状况。
解决办法是:
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock
再重新安装即可成功。
在XShell输入命令:apache2 -v
如果出现以下提示说明安装成功:

再在浏览器中测试下,在地址栏中输入Ubuntu Server的IP地址,出现以下页面:

5. 安装PHP
在XShell输入命令:sudo apt-get install php
安装完成后输入命令检验是否安装成功:php -v
显示如下版本信息即为安装成功:

检验Apache是否可以调用php命令:cat /etc/apache2/mods-enabled/php.load
出现如下错误提示信息

输入命令:sudo apt-get install libapache2-mod-php 后,再输入命令cat /etc/apache2/mods-enabled/php7.0.load,不过却提示和PHP5有冲突,这个先不管,截图如下

注意:由于前面的提示信息是找不到php.load这个文件,所以我进入到相应文件夹去看了下,确实没有这个文件,在输入命令sudo apt-get install libapache2-mod-php后,我再到文件夹里面去看后,有php.7.0.load这个文件。所以我将命令稍作修改:cat /etc/apache2/mods-enabled/php7.0.load
6. 安装MySQL
输入命令:sudo apt-get install mysql-server
中途会出现设置MySQL administrator密码的提示。
安装MySQL的扩展:sudo apt-get install php-mysql
之后输入命令:cat /etc/php/7.0/mods-available/mysqli.ini
出现下图的提示信息说明PHP和MySQL之间的连接好了(PHP版本不同命令会不同,研究了好久才研究出来,我参照的视频里面安装的是php5,命令是:cat /etc/php5/conf.d/mysql.ini)

7. 安装完毕。重启MySQL,Apache,命令是:
sudo service mysql restart
sudo service apache2 restart
tip:安装LAMP系统的Apache,MySQL,PHP也可以使用一条命令:
sudo apt-get install apache2 php mysql-server php-mysql
或者sudo tasksel install lamp-server
8. 创建phpinfo服务器探针
cd /var/www/html
vim info.php
进入info.php文件后输入代码如下:
<?php
phpinfo();
?>
编辑文件,保存退出,到浏览器输入ip/info.php可以显示如下内容。(IP为Ubuntu server IP地址)

修改info.php文件代码为:

Note:涂掉的是MySQL安装时输入的admin用户密码
按insert或者I进入到编辑模式,按ESC退出编辑模式,再按:wq,即保存退出;q!强制退出。
编辑文件,保存退出,到浏览器输入ip/info.php可以显示如下内容。

还可以安装一些php的扩展,如php7.0-gd,安装好后可在测试页面看到:

9. 一些Linux命令:
修改时区为上海:root@yaoxiao:/etc# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
设置代理
1)通过export http代理使用apt-get(临时有效)
在使用apt-get之前,在终端中输入以下命令
export http_proxy=http://proxy_addr:proxy_port
取消代理使用
export http_proxy=""
2)apt.conf文件中配置http代理信息(永久有效)
sudo gedit /etc/apt/apt.conf在您的apt.conf文件中加入下面这行
Acquire::http::Proxy "http://proxy_addr:proxy_port";
保存apt.conf文件即可
3).bashrc文件中配置代理信息(apt-get, wget 等等)(全局有效)
gedit ~/.bashrc 在.bashrc文件末尾添加如下内容
export http_proxy="http://proxy_addr:proxy_port"
保存文件,重新开启终端。
复制文件:cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 语法:cp {源文件} {目标文件}
10. 使用filezilla管理Linux服务器上的文件
首先下载filezilla,配置:

可能会遇到无法连接到root用户,解决办法如下:
进入到配置文件 vim /etc/ssh/sshd_config
修改 permitrootlogin:yes
重启ssh服务 service ssh restart
11. 手动配置DNS
进入到配置文件hosts: sudo vim /etc/hosts
在文件底部添加你需要的项,格式: <IP> <HOSTNAME>.<DOMAIN> <ALIAS>
示例: 192.168.190.130 video.imooc.com
192.168.190.130 bbs.imooc.com
192.168.190.130 oa.imooc.com
完成后保存退出,重启网络:sudo /etc/init.d/networking restart
到浏览器中输入video.imooc.com等三个域名检验,发现跟输入192.168.190.130指向同一个页面。最开始设置好以后在自己电脑上怎么也打不开“It Works”页面,后来发现在Windows客户端查看的话要设置Windows端的hosts文件:打开C:\Windows\System32\drivers\etc\hosts,加入三台虚拟主机的配置:192.168.190.130 video.imooc.com。
12. 用xshell远程连接到Ubuntu服务器创建虚拟主机文件
(1)批量创建文件夹:sudo mkdir -p /var/www/html/{video,bbs,oa}
(2)创建完文件夹后分别为这三个文件夹创建示例文件:
d /video/
sudo vim index.html
(3) 编辑文件:“Welcome to Video Site”
重复(2)(3)两步给bbs、oa创建示例文件。
(5)创建虚拟主机文件:
默认情况下,apache有一个默认的虚拟主机文件叫000-default.conf。我们将会复制000-default.conf文件内容到我们新的虚拟主机配置文件中。
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/video.local.conf
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/bbs.local.conf
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/oa.local.conf
(6)修改虚拟主机文件
确保虚拟主机配置文件末尾包含.conf扩展名。现在,修改video.local.conf文件以符合需求:
sudo vi /etc/apache2/sites-available/video.local.conf
修改后的文件如下:
<VirtualHost *:80> # The ServerName directive sets the request scheme, hostname and port that # the server uses to identify itself. This is used when creating # redirection URLs. In the context of virtual hosts, the ServerName # specifies what hostname must appear in the request's Host: header to # match this virtual host. For the default virtual host (this file) this # value is not decisive as it is used as a last resort host regardless. # However, you must set it for any further virtual host explicitly. #ServerName www.example.com ServerAdmin webmaster@video.local
ServerName video.imooc.com
DocumentRoot /var/www/html/video/public_html # Available loglevels: trace8, ..., trace1, debug, info, notice, warn, # error, crit, alert, emerg. # It is also possible to configure the loglevel for particular # modules, e.g. #LogLevel info ssl:warn ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined # For most configuration files from conf-available/, which are # enabled or disabled at a global level, it is possible to # include a line for only one particular virtual host. For example the # following line enables the CGI configuration for this host only # after it has been globally disabled with "a2disconf". #Include conf-available/serve-cgi-bin.conf </VirtualHost>
重复(6)步骤修改bbs.local.conf oa.local.conf
(7)修改虚拟主机文件后,禁用默认的虚拟主机配置(000.default.conf),然后启用新的虚拟主机配置,如下所示。
sudo a2dissite 000-default.conf
sudo a2ensite video.local.conf
sudo a2ensite bbs.local.conf
sudo a2ensite oa.local.conf
(8)重启Apache服务器,测试网页
sudo service apache2 restart
打开地址video.imooc.com bbs.imooc.com oa.imooc.com,页面如下:

13. MySQL数据存储目录迁移:
(1)停止数据库服务:sudo service mysql stop
(2)创建与MySQL文件夹权限一致的文件夹(一般是挂载硬盘,但目前学习阶段没有挂载硬盘)来存放备份:sudo mkdir /mysqldata

(3)修改mysqldata文件夹属性:sudo chown -vR mysql:mysql /mysqlcopy/mysql/
(4)修改mysqldata文件夹权限:sudo chmod -vR 700 /mysqlcopy/mysql/
(5)切换到root账户:su
(6)复制:cp -av /var/lib/mysql/* /mysqlcopy/mysql/
(7)退出root账户:exit(或Ctrl+D)
(8)修改MySQL配置文件:sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
输入/datadir(在文件中查找字符)找到MySQL的默认数据存放文件夹,修改为指向刚刚创建的/mysqlcopy/mysql/文件夹。
14. 安装phpmyadmin
phpmyadmin是非常流行的MySQL管理工具,有两种方式安装:
(1)使用apt-get安装,然后创建一个软连接
sudo apt-get install phpmyadmin
sudo ln -s /usr/share/phpmyadmin/ /var/www/html/pma
(2)下载好phpmyadmin安装包,然后使用filezilla将安装包拖到 /var/www/html/ 下面
使用第二种方式安装完成后,打开http://192.168.190.130/pma/试验一下是否安装成功。提示有如下错误。

安装php-mbstring即可解决:sudo apt-get install php-mbstring
15. MySql远程访问

输入用户名,选择权限后,新增用户成功。重启MySQL 服务。
用Navicat Premium远程连接,此时不能成功,我们需要修改如下文件:
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
注释掉 bind-address:127.0.0.1
此时连接成功。
在Ubuntu Server下配置LAMP环境的更多相关文章
- 在Ubuntu Server下搭建LAMP环境
1 LAMP的安装 LAMP通常是指Linux+Apache+MySQL+PHP组合形成的一套可以运行PHP程序的体系,并不是一个软件的名称.没有安装MySQL的服务器依然可以在其它条件完备的情况下运 ...
- 在Ubuntu Server下搭建LAMP环境学习记录
更新于2015/6/16日,因图片地址失效,请在此地址查看:http://note.youdao.com/share/?id=1c249ae6dc6150cbf692adec67b23a33& ...
- windows下配置lamp环境(5)---配置MySQL5.6
开始配置mysql 1.创建配置文件my.ini 1.进入C:\wamp\MySQL 2.把my-default.ini 另存一份:my.ini 3.开始编辑mysql的配置文件,打开my ...
- windows下配置lamp环境(3)---配置PHP5.4
下面配置php Php文件夹里有两个php.ini-*文件,随便修改一个,去掉后缀,变成php.ini (如图) 打开php.ini ,添加php扩展目录723行左右(其实放哪都无所谓,只不过php. ...
- windows下配置lamp环境(0)---软件获取
工作快一年了,还没有怎么配置过服务器环境,经常使用集成套件wampserver,为了复习配置wamp服务器 特意在虚拟机中测试安装步骤如下. 安装前步骤:下载软件.软件下载地址如下: 1.apache ...
- windows下配置lamp环境(2)---配置Apache服务器2.2.25
配置Apache 配置Apache时,先要找到安装目录中的主配置文httpd.conf,使用文本编辑器打开,最好不要使用windows自带的编辑器,可以使用NotePad++, vim,或者subli ...
- windows下配置lamp环境(1)---安装Apache服务器2.2.25
window下lamp成为wamp; 安装wamp环境的第一步是安装Apache服务器.下面开始安装步骤图文并茂. 一.双击安装包点“next”进行下一步,然后同意协议(这张图没有截):
- [转载]Ubuntu Server下配置UTF-8中文环境
转载自:http://www.gaojinbo.com/ubuntu-server%E4%B8%8B%E9%85%8D%E7%BD%AEutf-8%E4%B8%AD%E6%96%87%E7%8E%AF ...
- ubuntu下配置lamp环境
安装MySQL sudo apt-get install mysql-server mysql-client 安装php模块 Sudo apt-get install php5 安装Apache2 S ...
随机推荐
- ubuntu开启SSH服务
SSH分客户端openssh-client和openssh-server 如果你只是想登陆别的机器的SSH只需要安装openssh-client(ubuntu有默认安装,如果没有则sudo apt-g ...
- NGUI渲染流程
1 渲染流程 NGUI的渲染流程其实就是把Widget组件生成Mesh所需要的缓存数据,然后生成对应的DrallCall组合对应数据,生成渲染需要的Mesh数据,提交渲染. Widget(数据) UI ...
- C#.NET中数组、ArrayList和List三者的区别
数组在C#.NET中是最早出现的,在内存中是顺序连续存储的,所以它的索引速度非常快,赋值与修改元素也很简单:但是,也正因为数组是顺序连续存储的,在两个数据间插入数据是很不方便的,而且在声明数组的时候必 ...
- 修改XCode的Product的输出目录(有时不生效需看)
通常在情一般都不建议使用绝对路径,因为写死之后,换环境,换平台,又要重新修改路径,因此常常使用相对路径,哪么相对路径通常使用的就是环境变量了. 在Mac 中,xcode 中build settings ...
- iOS中的线程安全问题
为了保证线程安全,不会因为多个线程访问造成资源抢夺,出现的运行结果的偏差问题,我们需要使用到线程同步技术,最常用的就是 @synchronized互斥锁(同步锁).NSLock.dispatch_se ...
- 定时器中实现数据库表数据移动的功能,Exception in thread "Timer-0" isExist java.lang.NullPointerException定时器中线程报错。
package com.shawnway.trade.marketdata.constants; import java.sql.SQLException; import java.util.Cale ...
- Python基础、异常处理
一.概述 错误与异常概念 异常也是对象, 基于Exception类.内置异常 异常处理.流程 try/except/else 处理python或你触发的异常 try/fianlly 不管有没有异 ...
- 【转】五种常见的 PHP 设计模式
工厂模式 最初在设计模式 一书中,许多设计模式都鼓励使用松散耦合.要理解这个概念,让我们最好谈一下许多开发人员从事大型系统的艰苦历程.在更改一个代码片段时,就会发生问题,系统其他部分 —— 您曾认为完 ...
- 系统无法开始服务器进程。请检查用户名和密码。 (Exception from HRESULT: 0x8000401A)
开始-运行-cmd,输入aspnet_regiis.exe -i 重新注册iis 或者 出现以下错误:检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-0000 ...
- PHP的启动与终止
1.2 PHP的启动与终止 PHP程序的启动可以看作有两个概念上的启动,终止也有两个概念上的终止. 其中一个是PHP作为Apache(拿它举例,板砖勿扔)的一个模块的启动与终止, 这次启动php会初始 ...