博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ubuntu下源码安装LAMP及Laravel
阅读量:5037 次
发布时间:2019-06-12

本文共 4039 字,大约阅读时间需要 13 分钟。

前言

已经很久没写php代码了,以前是前后端都折腾,毕业入职以后就只是单纯写前端了

刚好前不久在nitrous上建了一个测试账户(ubuntu环境),于是就打算部署个Laravel玩玩,一个很火的php框架

于是乎,是的,我又得折腾一遍LAMP了(生无可恋脸...)

nitrous上原本是已经部署好了apache2和php5的,可是php5的版本是5.5.9,而Laravel对php版本的最低要求是>=5.6.4

所以,蛋疼了,得重新装php了,更悲剧的是用自带的apt-get是无法安装特定版本的,软件源是什么版本就只能什么版本

因此,无路可走,只能选择源码编译安装的方式了,在这条路上我的折腾之旅是酱紫的:

1. 手动安装了php5.6.26,可是系统自带的apache2还是默认配置了原来的php5.5.9

2. 卸载了自带的php5.5.9,可是无论怎么配置apache2还是无法与手动安装的php5.6.26配合

3. 于是索性把自带的apache2和php5.5.9全部卸载掉

4. 手动安装配置apache2和php5.6.26

 

另外,需要注意的一点是,编译php时,尽量把要用到的扩展模块全都一起编译好,不然以后各种模块缺失折腾死你

补充1:所有操作之前,最好先执行一下: sudo apt-get update

 

正文

下面正式介绍安装编译步骤:

 

1.安装apache2

前提:下载好 httpd-xxx.tar.gz, apr-xxx.tar.gz, apr-util-xxx.tar.gz, pcre-xxx.tar.gz (xxx是相应版本,看你需求)

1.1 安装apr

sudo tar -xzvf apr-xxx.tar.gz

cd apr-xxx

sudo apt-get install libtool

sudo ./configure --prefix=/usr/local/installed/apr-x.x.x

sudo make

sudo make install

1.2 安装apr-util

sudo tar -xzvf apr-util-xxx.tar.gz

cd apr-util-xxx

sudo ./configure --prefix=/usr/local/installed/apr-util-x-x-x --with-apr=/usr/local/installed/apr-x-x-x

sudo make

sudo make install

1.3 安装pcre

sudo tar -xzvf pcre-xxx.tar.gz

cd pcre-xxx

sudo ./configure --prefix=/usr/local/pcre

sudo make

sudo make install

1.4 安装httpd

sudo tar -xzvf httpd-xxx.tar.gz

cd httpd-xxx

sudo ./configure --prefix=/usr/local/installed/httpd-2.4.25 --sysconfdir=/etc/httpd --with-include-apr --disable-userdir --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-static-support --with-apr=/usr/local/installed/apr-1.5.2 --with-apr-util=/usr/local/installed/apr-util-1.5.4 --with-pcre=/usr/local/installed/pcre-8.40 --enable-module=shared

sudo make

sudo make install

1.5 配置apache2

apache2的配置主要是网站目录和端口的配置,以及php的配置

1.5.1 网站目录和端口的配置

上面安装的时候我们的配置路径设在了/etc/httpd/,cd到该目录下,执行

sudo vim httpd.conf

分别修改

1. ServerName 127.0.0.1

2.

 

<Directory />

  #AllowOverride none
  #Require all denied
  AllowOverride all
  Require all granted
</Directory>

3.

DocumentRoot "/usr/local/apache2/htdocs"

4.

<Directory "/usr/local/apache2/htdocs">

  AllowOverride All

</Directory >

5.

Include /etc/httpd/extra/httpd-vhosts.conf

 

1.5.2 php配置

待续

注:以上路径根据自己需求更改

 

2. 安装php

前提:下载好php-5.6.26.tar.gz

2.1 安装libpng12

sudo apt-get -y install libpng12-dev

2.2 安装libjpeg

sudo apt-get -y install libjpeg-dev

2.3 安装freetype6

sudo apt-get -y install libfreetype6-dev

2.4 安装libxml2

sudo apt-get -y install libxml2-dev

2.5 安装php

sudo tar -xzvf php-5.6.26.tar.gz

cd php-5.6.26

sudo ./configure \

--prefix=/usr/local/installed/php/5.6.29 \
--with-config-file-path=/usr/local/installed/php/5.6.29/etc \
--enable-mbstring \
--enable-ftp \
--enable-sockets \
--enable-gd-native-ttf \
--enable-zip \
--enable-fpm \
--enable-fpm \
--enable-xml \
--enable-sockets \
--enable-soap \
--enable-pcntl \
--enable-cli \
--with-iconv \
--with-freetype-dir=/usr/lib/ \
--with-gmp \
--with-mcrypt \
--with-curl \
--with-zlib \
--with-libxml-dir=/usr \
--with-xmlrpc \
--with-freetype-dir=/usr \
--with-gd \
--with-jpeg-dir=/usr \
--with-png-dir=/usr \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-openssl-dir=/usr \
--with-openssl \
--with-pdo-mysql=mysqlnd \
--with-pear

sudo make

sudo make install

2.6 配置php-fpm

在php源码目录

sudo cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

sudo chmod +x /etc/init.d/php-fpm

接着

cd /usr/local/php/etc/

sudo cp php-fpm.conf.default php-fpm.conf

sudo mv php-fpm.conf.default php-fpm.conf.default.bak

编辑配置文件

sudo vim php-fpm.conf

将;pid = run/php-fpm.pid前面的分号去掉

user = nobody

group = nobody

中的nobody改为你自己的用户名和用户组

保存退出

启动php-fpm

sudo /etc/init.d/php-fpm start

2.7 php配置

定位到原来php源码目录

sudo cp -f php.ini-production /etc/php/php.ini

添加权限

sudo chmod 644 /etc/php/php.ini

2.8 将php命令链接到系统路径中

sudo cp /usr/local/php/bin/php /usr/bin/php

2.9 执行php -i 查看php信息

 

3.安装MySQL

待续

 

4. 安装Laravel

待续

 

5.结尾

常见错误

1.安装php时出现,configure: error: Cannot find OpenSSL's libraries

解决参见:http://linuxzj.blog.51cto.com/6160158/1632132

 

参考

http://sunrising.blog.51cto.com/10729461/1722199

https://www.insp.top/compile-and-install-apache24-and-php56-on-centos

转载于:https://www.cnblogs.com/hisheng/p/5934149.html

你可能感兴趣的文章
css_去掉默认样式
查看>>
TensorFlow2.0矩阵与向量的加减乘
查看>>
NOIP 2010题解
查看>>
javascript中的each遍历
查看>>
String中各方法多数情况下返回新的String对象
查看>>
浅谈tcp粘包问题
查看>>
UVA11524构造系数数组+高斯消元解异或方程组
查看>>
排序系列之——冒泡排序、插入排序、选择排序
查看>>
爬虫基础
查看>>
jquery.lazyload延迟加载图片第一屏问题
查看>>
HDU 1011 Starship Troopers (树形DP)
查看>>
手把手教你写DI_1_DI框架有什么?
查看>>
.net常见的一些面试题
查看>>
OGRE 源码编译方法
查看>>
上周热点回顾(10.20-10.26)
查看>>
C#正则表达式引发的CPU跑高问题以及解决方法
查看>>
云计算之路-阿里云上:“黑色30秒”走了,“黑色1秒”来了,真相也许大白了...
查看>>
APScheduler调度器
查看>>
设计模式——原型模式
查看>>
【jQuery UI 1.8 The User Interface Library for jQuery】.学习笔记.1.CSS框架和其他功能
查看>>