Ubuntu 16.04 环境下编译安装 LAMP
Ubuntu 16.04 环境下编译安装 LAMP
编译安装 apache
编译安装依赖 apr
./configure --prefix=/usr/local/apr make make install
编译安装依赖 apr-util
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr make make install
编译安装依赖 pcre
# pcre 在 apache 的 2.2 版本中包含在源码中,但是在 2.4 版本不再包含,但是却是必须的,所以需要单独编译。 ./configure --prefix=/usr/local/pcre make make install
编译安装 httpd 2.4.23
./configure --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre --prefix=/usr/local/apache make sudo make install
- 如果使用远程连接编译,防止断网引起编译安装失败,可以使用 screen 命令。
- 可能需要的依赖:
sudo apt install gcc g++ cmake make
。 - 用户的文件一般安装在
/opt/
或/usr/local/
目录下。 - 在编译后,需要为 httpd.conf 添加 ServerName :
sudo sed -i 's/#ServerName.*/ServerName localhost/ /usr/local/apache/conf/httpd.conf
。 - 启动:
sudo /usr/local/apache/bin/apachectl start
。 - 测试:
curl -I 127.0.0.1
。
编译安装 mysql 5.7
- 依赖:
sudo apt install cmake gcc make libcurses # 或者 libncurses
。 - 还需要下载 boost:
wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz && tar zxf boost_1_59_0.tar.gz
。
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DWITH_INNOBASE_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 make make install # 安装后的配置: cd /usr/local/mysql chown -R mysql.mysql . bin/mysqld --initialize --user=mysql bin/mysql_ssl_rsa_setup chown -R root . chown -R /opt/data/mysql bin/mysqld_safe --user=mysql & cp support-files/mysql.server /etc/init.d/mysql.server
编译安装 PHP
# 安装依赖: sudo apt-get install zlib1g-dev libbz2-dev libcurl4-gnutls-dev libjpeg-dev libpng12-dev libfreetype6-dev libmcrypt-dev libxml2-dev ./configure --with-apxs2=/usr/local/apache/bin/apxs --with-mysqli --enable-mysqlnd --enable-mbstring --prefix=/usr/local/php --with-config-file-path=/etc/php/php.ini --with-config-file-scan-dir=/etc/php/conf.d make make test sudo make install
- 安装必需的模块即可,若需要某个模块,可以安装并动态加载模块:
# 需要安装依赖: sudo apt install autoconf cd ./php-x.z.y/ext/name /usr/local/php/phpize # 可以看到目录下多出了 configure 文件 ./configure --with-name=/p/a/t/h --with-php-config=/usr/local/php/php-config #--with-name=/p/a/t/h 并非必需 make make install 修改配置文件: # 修改 extension_dir="/usr/local/php/php/lib/php/extensions/no-debug-zts-20131226" 添加 extension = name.so
- 配置 http.conf 使 apache 可以解析 php 文件:
- 在 http.conf 中添加如下内容:
Include conf/extra/httpd-php.conf
; - 在 conf/extra 中添加 httpd-php.conf 文件:
touch httpd-php.conf
; - 在 httpd-php.conf 中添加如下内容:
- 在 http.conf 中添加如下内容:
<FilesMatch "\.ph(p[2-6]?|tml)$"> SetHandler application/x-httpd-php </FilesMatch> <FilesMatch "\.phps$"> SetHandler application/x-httpd-php-source </FilesMatch>
尽量不要编译,尽可能使用已经编译好的二进制发行包,因为编译浪费时间,而且因为系统的差异有诸多问题。
mysql 在编译时,一定确保有足够的内存。
编译安装 ext openssl
# 编译安装 openssl ./config --prefix=/usr/local/openssl shared make sudo make install # 编译安装 php ext openssl ./configure --with-openssl=/usr/local/openssl --with-php-config=/usr/local/php/php5/bin/php-config make sudo make install bash -s 'echo "extension=openssl.so >> /usr/local/php/php5/etc/php.ini"
自动安装 lamp
#!/bin/bash sudo apt install -y gcc g++ make cmake autoconf vim git zlib1g-dev libbz2-dev ibcurl4-gnutls-dev libjpeg-dev libpng12-dev libfreetype6-dev libmcrypt-dev libxml2-dev cd apt-1.5.2 ./configure --prefix=/usr/local/apr make sudo make install cd ../apr-util-* ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr make sudo make install cd ../pcre-* ./configure --prefix=/usr/local/pcre make sudo make install cd ../httpd* ./configure --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre --prefix=/usr/local/apache make sudo make install cd ../openssl* ./config --prefix=/usr/local/openssl shared make sudo make install cd ../php* ./configure -with-apxs2=/usr/local/apache/bin/apxs --with-mysqli --with-mysql --enable-mysqlnd --enable-mbstring --enable-bcmath --enable-sockets --enable-zip --with-bz2 --with-curl --with-gd --with-pdo-mysql --with-xmlrpc --with-zlib --prefix=/usr/local/php/php5 --with-config-file-path=/usr/local/php/php5/etc/php.ini --with-config-file-scan-dir=/usr/local/php/php5/etc/conf.d --with-openssl=/usr/local/openssl make sudo make install sudo sed -i 's/#ServerName.*/ServerName localhost/ /usr/local/apache/conf/httpd.conf' cd ../php* sudo cp php.ini-deve* /usr/local/php/php5/etc/php.ini sudo sh -c "echo Include conf/extra/httpd-php.conf >> /usr/local/apache/conf/httpd.conf" sudo sh -c "cat >> /usr/local/apache/conf/extra/httpd-php.conf <<EOF<FilesMatch \"\\.ph(p[2-6]?|tml)$\"> SetHandler application/x-httpd-php</FilesMatch><FilesMatch \"\\.phps$\"> SetHandler application/x-httpd-php-source</FilesMatch>EOF"
下面关于LAMP相关的内容你可能也喜欢:
相关推荐
wys 2020-06-10
林大鹏 2020-05-29
王志龙 2020-06-14
80327065 2020-06-08
qdqht00 2020-05-09
itmale 2020-03-03
Skyline 2020-02-21
stoneechogx 2020-02-17
happinessaflower 2020-02-14
xsg 2020-02-13
逆时针 2020-02-10
wintershii 2020-02-02
wensonlee 2019-12-30
byourb 2019-12-29
全文使用的环境如题,主机使用的是腾讯云主机。内容应该会是linux和apache这些所有部分都有一点,因为是遇见一个问题就记录一个。 尝试清除浏览器缓存/换一个浏览器验证/重启服务器的apache服务
登峰小蚁 2019-12-26
85590296 2019-12-16