Ubuntu 17.10 用 apt 搭建 lamp 环境、安装 phpmyadmin、redis 服务+扩展、mysql 扩展、开启错误提示、配置虚拟主机

max下是自带有Apache和php的服务器的,不需要另外安装,本文就对相关配置进行介绍。

一、安装Apache:

2018-02-24 13:50:30 更新:

第一:Apache

在终端中输入,下面指令即可启动Apache服务器:

 //启动
 sudo apachectl-k start  
  //重新启动
 sudo apachectl -k restart

验证:

在浏览器中输入: Works!,既证明服务器已经启动。

但是由于默认站点位于系统路径下,所以我们修改到自定义的路径。所以还需要进行相关配置

修改站点位置:

终端中输入

cd /etc/apache2/
 sudo vim httpd.conf // 会提示输入密码,输入后回车即可
 英文下输入: /DocumentRoot,查找,
 注:1:注意区分大小写;2:要修改两个地方,故要进行两次查找。

第一次查找后,修改:

澳门新浦京电子游戏 1

第二次查找后,修改

澳门新浦京电子游戏 2

修改好后:wq保存退出,重启服务器,并在自定义的路径下放置html文件,即可访问。

yum -y install httpd httpd-manual mod_ssl mod_perl mod_auth_mysql

澳门新浦京电子游戏,个人喜欢相对原生又不太麻烦,所以用 apt
构建环境。不过,最近使用到现在记得出现过了 3 次 apache 或 mysql
服务器无法启动或无法连接的情况。之前懒得麻烦,直接重装服务器,反正数据也不多。

第二:配置PHP服务器:

1:终端中输入指令:

cd /etc/apache2
 sudo vim httpd.conf
 按 /php,进行搜索,把带有LoadModule php5…..这一行的#(注释符号)去掉即可。

 ![](http://images.cnitblog.com/blog2015/589133/201503/231410352395226.png)

2:终端中输入:

 cd /etc/
 sudo cp php.ini.default php.ini

重启服务器,在自定义的站点路径下放置php文件,即可访问php内容。

第三:MySQ安装:
MySql下载: MySqlWorkbench下载:

下载后直接安装即可,一路默认就好

MySql配置:

打开终端,输入:

vim ~/.bash_profile

输入 i进行编辑 ,然后粘贴以下内容

# mysql
alias mysql='/usr/local/mysql/bin/mysql'
alias mysqladmin='/usr/local/mysql/bin/mysqladmin'
# ls
alias ls='ls -G'

按ESC键 ,输入 :wq
这样在终端中 直接输入 mysql 就可以进入mysql 。输入 exit 为退出

修改MySql的管理员密码,在终端中输入:

mysqladmin -u root password "root"

启动Mysql服务
     sudo /Library/StartupItems/MySQLCOM/MySQLCOM start
停止Mysql服务
     sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop
重启Mysql服务
     sudo /Library/StartupItems/MySQLCOM/MySQLCOM restart

至此,Apache+MySQL+PHP安装配置完毕。

附:对vim编辑器进行介绍
vim有两种模式:
1:命令模式

 shift+v -> 选中一行
 y -> 复制一行
 yy -> 复制当前行 (yank current line)
 p -> 在当前行的下一行复制粘贴的内容
 x -> 删除一个字符
 :wq -> 保存退出
 :q! -> 不保存退出
 i -> 进入编辑
 / -> 按/再输入字符可进行查找

2:编辑模式,可直接编辑文档,按esc键可以退出编辑模式

测试:

最近一次出问题后,好好查了会儿谷歌(百度),找到了解决办法,现在也运行的好好的。说下我用的解决办法:

1.关闭防火墙:service iptables stop

 

2.尝试启Apache:service httpd start

问题1. Apache 服务器无法启动

3.输入服务器IP,出现如下界面成功:

关键命令: apache2ctl configtest 

澳门新浦京电子游戏 3

解决办法:终端里执行上述命令,根据提示信息依次修改。

 

提示:主要是 apache
的日志文件缺失问题,按照命令输出里提示的路径依次创建即可;其次是 apache
默认的 Servername 缺失问题,按照提示在 apache 的主配置文件 /etc/apache2/apache2.conf 最后加一个 Servername localhost 即可(注意在你的
/etc/hosts 文件里添加 localhost 域名解析)。这个 Servername
问题可以不管,不影响运行。

完善apache配置:

最后记得重启服务器检查运行结果。

1.关闭apache:service httpd stop

 

2.打开apache的配置文件 : vim /etc/httpd/conf/httpd.conf

问题2. MySQL 服务器无法启动或无法连接

3.修改 ServerName  选项 ,值为:localhost:80

关键命令: mysqld_safe 

澳门新浦京电子游戏 4

解决办法:主要是 mysql 的 sock
文件和日志文件缺失问题,按照命令输出里提示的路径依次创建,并修改两文件所在目录的用户和用户组为
mysql:mysql。

4.重启 apache :service httpd restart ,并再次输入服务器IP进行测试
5.把apache的启动加入开机脚本:chkconfig httpd on  

提示:我这里根据提示,创建了相应文件和目录。sock 文件路径为 /var/run/mysqld/mysqld.sock ,注意用 sudo chown -R mysql:mysql
/var/run/mysqld/ 修改所属用户和用户组;日志路径为 /var/log/mysql/error.log ,注意修改这个
mysql 目录的所属用户(组)。 

 

最后记得重启服务器、终端里登录连接 mysql 检查运行结果。

二、安装MySql

 

yum -y install mysql mysql-server mysql-devel

一、最终环境

Ubuntu17.10、Apache2.4.27、MySQL5.7.20、PHP7.1.8

 

使用上面指令安装成功后,进行配置:
1:把mysql的启动加入开机脚本:chkconfig mysqld on

二、安装 apache

官方源有,直接安装:

sudo apt-get install apache2

 

2.启动mysql:service mysqld start 

三、安装 mysql

官方源有,直接安装:

sudo apt-get install mysql-server

安装期间会提示设置 MySQL administrator 的密码

============================================

PS:需要什么软件或包,直接用 apt-cache
搜索

apt-cache search <关键词>

确认包名后,直接用 apt-get install 安装。

 

3.设置mysql的root账号和密码,否则mysql是随便进入的:mysqladmin –uroot
password [你的密码]

四、安装 php

官方源有 php7.1,直接安装:

sudo apt-get install php7.1 php7.1-dev

注意带上版本号,不然默认安装 7.x。php7.1 是主程序,php7.1-dev 是 7.1
版的开发包(有 phpize、php-config 等等,phpize 可以为 已编译好的 php
加载外挂模块,php-config 可以获得 php 的详细配置)。 

============================================

如果要装 php5.6 的话,推荐这个 PPA
源:ppa:ondrej/php。这个源有
php5.6 和 php7.x 以及绝大多数的 php 扩展,包括 redis、memcache、mongodb
等等。

添加 ppa:ondrej/php 源:

sudo add-apt-repository ppa:ondrej/php
sudo apt-get update

安装 php5.6:

sudo apt-get install php5.6 php5.6-dev

 

4.测试进入mysql:mysql -uroot -p123456

五、重启 apache

sudo /etc/init.d/apache2 restart

更多选项:

Usage: apache2 {start|stop|graceful-stop|restart|reload|force-reload}

 

如果能成功进入,还需要配置字符集,否则会乱码

六、检查 apache

访问 。这是 apache 服务器的默认页在 /var/www/html
下,里面还介绍了 apche 的相关配置文件。

澳门新浦京电子游戏 5

 

澳门新浦京电子游戏 6

七、检查 mysql

终端输入 mysql,跟着打两个 Tab,看到所有有关 mysql 的命令包:

mingc@mingc-GE60-2PL:~$ mysql
mysql                      mysql_install_db
mysqladmin                 mysqloptimize
mysqlanalyze               mysql_plugin
mysqlbinlog                mysqlpump
mysqlcheck                 mysqlrepair
mysql_config_editor        mysqlreport
mysqld                     mysql_secure_installation
mysqld_multi               mysqlshow
mysqld_safe                mysqlslap
mysqldump                  mysql_ssl_rsa_setup
mysqldumpslow              mysql_tzinfo_to_sql
mysql_embedded             mysql_upgrade
mysqlimport                

输入 mysql -u<你的账号>
-p ,回车,输入密码,进入 mysql:

mingc@mingc-GE60-2PL:~$ mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 73
Server version: 5.7.20-0ubuntu0.17.10.1 (Ubuntu)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

mysql> 

 

 完善mysql的乱码配置,需要使用mysql的补丁包(文末有下载地址):

八、检查  php

php -v

不出意外的话,应该显示 php 的版本

============================================

也可以查看 apache 和 mysql 版本:

apache2 -v
mysql -V

 

1.把补丁包上传到Linux的/usr/local/src下,有mysql.sh
和 mysql.zip 两个文件

九、创建 php 探针

sudo vim /var/www/html/info.php

添加如下内容:

<?php
phpinfo();

改变所有者:

sudo chown www-data:www-data /var/www/html/info.php

访问 ,得到有关 PHP
的详细页面。

澳门新浦京电子游戏 7

 

2.将两个文件的权限设置成 777 ,然后运行
mysql.sh  文件即可

十、安装 phpmyadmin

sudo apt-get install phpmyadmin

安装期间,

询问要连接的服务器,选择 apache2;

询问创建 phpmyadmin 的数据库,选择“是”;

询问设置登录 phpmyadmin 的用户和密码。

然后浏览器访问:

 澳门新浦京电子游戏 8

 

3.重启mysql ,指令:service mysqld
start ,再看文字编码是否变为utf8 ,两个指令如上图。

十一、安装 redis 服务和 redis 扩展

官方源有,直接安装:

(1)redis 服务器

sudo apt-get install redis-server

期间,一些需要的工具包也会自动安装。安装好后,默认自启动、后台运行,配置文件在
/etc/redis 目录下。

(2)php 的 redis 扩展模块

sudo apt-get install php-redis

其他的扩展也可以这么装,利用 apt-cache search 搜索包名,再用 apt-get
install 安装。

重启 apche, sudo /etc/init.d/apache2 restart 

访问 ,确认 redis 扩展:

澳门新浦京电子游戏 9

测试一下:

终端输入 redis-,跟着打两个 Tab 键,看到有关 redis 的命令和工具:

mingc@mingc-GE60-2PL:~$ redis-
redis-benchmark  redis-check-rdb  redis-server     
redis-check-aof  redis-cli

redis-cli 是 访问 redis-server 的客户端接口,执行 redis-cli 即可登录到
redis 服务器:

mingc@mingc-GE60-2PL:~$ redis-cli 
127.0.0.1:6379> 

更多 redis-cli 的命令选项,使用 redis-cli
–help 查看。

再写一段 php 脚本测试一下, vim
/var/www/html/test_redis.php 

内容如下:

<?php
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
echo "Connection to server sucessfully";
echo "Server is running: " . $redis->ping(); 

 

 

十二、安装 mysql 扩展

在上面的 
里可以看到,没有 mysql 扩展。虽说 php7 弃用了 mysql
扩展,但有些旧项目还是需要的。装一下 mysql 扩展。

这里选择编译安装

(1)直接从 PECL 官方站 搜索 mysql,找到 MySQL
扩展的 页面 ,点击页面的
[ Browse
Source ],选择最新的
commit、下载 tar.gz 包。我下载后的包名为 mysql-fae9884.tar.gz

(2)编译安装:

tar -xf mysql-fae9884.tar.gz
cd mysql-fae9884
phpize
./configure --with-php-config=/usr/bin/php-config
sudo make && sudo make install

前面装 php7.1 的时候,也装了 php7.1-dev,这里面就有 phpize 和
php-config。而 –with-php-config 是 php-config
程序(命令)的位置,可以使用 whereis php-config 查看。

编译安装成功后,会有成功提示 和 mysql 扩展模块(.so 文件)的路径:

Build complete.
Don't forget to run 'make test'.

Installing shared extensions:     /usr/lib/php/20160303/  

然后,编辑 php 用于 apache 的配置文件
/etc/php/7.1/apache2/php.ini,在最后添加一行:

extension=mysql.so

重启 apache, sudo /etc/init.d/apache2
restart 

访问 ,确认下有了 mysql 扩展。

 澳门新浦京电子游戏 10

写一段 php 脚本测试:  vim
/etc/www/html/test_mysql.php 

内容如下:

<?php
$mysql = mysql_connect('127.0.0.1', 'root', 'root');
if(!$mysql) {
 die(mysql_error($mysql));
}
echo 'Ok' . "rn";

 

由于 mysql 模块是手动编译安装的,所以默认不会进入 php 的命令行配置。

下面把 mysql 模块加入到 php 的 cli(命令行) 配置,让 php
的命令行模式也支持 mysql 模块:

sudo vim /etc/php/7.1/mods-available/mysql.ini

编辑内容如下:

extension=mysql.so

建立符号链接:

sudo ln -s /etc/php/7.1/mods-available/mysql.ini /etc/php/7.1/cli/conf.d/mysql.ini

检查一下,确认 php 命令行模式启用了 mysql 扩展模块:

php -m | grep mysql  

 

三、安装PHP5.6.x

十三、开启 php 和 apache 的错误提示

默认不显示 php 错误,下面开启。

(1)修改 php 的配置文件,在 /etc/php/7.1/apache2 下,打开 php.ini。

(2)搜索 display_errors = Off,修改为 On(主要是这一步,其他的也可以不改)

(3)搜索 error_reporting =  E_ALL & ~E_NOTICE,修改为 E_ALL |
E_STRICT(搜不到的话就搜短一点:“error_reporting =”)。

(4)修改 apache 的配置文件,在 /etc/apache2 下,打开 apache.conf。

(5)文件最后添加两行:

php_flag display_errors        on
php_value error_reporting       2039

(6)重启 apache:

sudo /etc/init.d/apache2 restart

 

Centos
默认yum源的php版本太低了,采用yum安装最新版,需要配置yum源。

十四、创建虚拟主机

创建虚拟主机自然用 apache 配置,了解一下 apache 的配置目录:

/etc/apache2
├── apache2.conf      # 主配置文件,其他的一些配置文件通过 Include 指令包含进来
├── conf-available    # 所有可用的配置文件(里面的 *.conf 文件内容几乎都被默认注释了)
├── conf-enabled      # 可用的配置文件中,启用了哪些,一般都是符号链接、指向上面的 conf-available 目录里每个 *.conf 文件
├── envvars           # 环境变量
├── magic
├── mods-available    # 所有可用的模块
├── mods-enabled      # 哪些模块被启用了
├── ports.conf        # 定义端口监听
├── sites-available   # 所有可用的站点
└── sites-enabled     # 哪些站点被启用了

步骤简单,就是在 sites-available
目录定义站点配置文件,然后在 sites-enabled
里建立指向这个配置文件的符号链接。

(1)建配置

cd /etc/apache2/sites-available/
sudo cp 000-default.conf my.site.conf
vim my.site.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 my.site
 # 域名别名,可以设置多个,空格隔开
 ServerAlias my.site

 ServerAdmin webmaster@localhost

 # 站点根目录
 DocumentRoot /var/www/my.site
 <Directory "/var/www/my.site/">
  # 启用符号链接
  Options FollowSymLinks

  DirectoryIndex index.php index.html index.htm

  # 注意这个配置,会影响本地目录下的 .htaccess 的启用
  AllowOverride All

  Order deny,allow
  Allow from All

  # 限制访问目录,多个目录用冒号隔开
  # php_admin_value open_basedir "/var/www/my.site/:/tmp:/usr/lib/php/"
 </Directory>

 # 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>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

精简版(去掉了多余注释):

<VirtualHost *:80>
 ServerName my.site
 DocumentRoot /var/www/my.site
 <Directory /var/www/my.site>
     Options FollowSymLinks
     DirectoryIndex index.php index.html index.htm
     AllowOverride All
     Order deny,allow
     Allow from All
 </Directory>
</VirtualHost>

(2)建符号链接

sudo ln -s /etc/apache2/sites-available/my.site.conf /etc/apache2/sites-enabled/my.site.conf

(3)检查语法

终端执行:

apachectl configtest

(4)添加 hosts 解析

 vim /etc/hosts ,添加一行:

127.0.0.1   my.site

(4)重启 apache

sudo /etc/init.d/apache2 restart

然后,按照配置的站点目录 /etc/www/my.site,创建目录和测试文件:

sudo makedir -p /etc/www/my.site
cd /etc/www/my.site/
sudo echo "<h2>Welcome to my.site!</h2>" > index.html

浏览器访问 ,

澳门新浦京电子游戏 11

OK,完成~~

 

本文永久更新地址: 

 

1.配置yum源,依次执行下面两个命令

十五、参考链接

  • Ubuntu Server
    16.04下配置LAMP环境
  • Ubuntu 16.04 搭建
    LAMP
  • 打开PHP和Apache的错误提示
  • Ubuntu16.04安装redis和php的redis扩展
  • Ubuntu Apache
    虚拟主机配置

  • httpd-vhosts设置域名别名

  • php错误提示 open_basedir restriction in effect
    解决

 

rpm -Uvh http://ftp.iij.ad.jp/pub/linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

十六、相关链接

  • PHP 及扩展的 PPA
    源:

 

2.安装PHP5.6.x

yum -y install --enablerepo=remi --enablerepo=remi-php56 php php-opcache php-devel php-mbstring php-mcrypt php-mysqlnd php-pecl-xdebug php-pecl-xhprof

3.重启 apache :service httpd restart,在根目录
/var/www/html/ 编辑index.php (或自定义一个文件)文件:

<?php
phpinfo();

4.访问这个文件,出现 phpinfo
相关信息则表示配置成功

5.或者使用  php -v 指令也可以测试:
澳门新浦京电子游戏 12

注:Linux下修改字符集文件下载分享:

链接:http://pan.baidu.com/s/1jHPm8GQ 密码:aiy5

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注