Deepin 源码安装 LNMP
hi,我是温新,一名PHPer
我目前正在使用 deepin
桌面系统,因此呢,又得重新搭建 LNMP
环境。deepin
呢,仅仅作为开发环境使用,而生产服务器依旧使用 Rocky Linux
。
使用 deepin 作为开发环境的缘由
我一直习惯了使用 CentOS
,因此自然而然的使用了 Rocky Linux
。在此之前开发环境使用的是 Rocky Linux
,与服务器保持了一致的环境,而它作为一款服务器环境,尽管在 9 版本中使用了 GNOME 40
桌面环境,但软件安装相对还是麻烦的,好在熟悉后也就不在那么在意了。
我换了一台笔记本,装系统也就是首选 Rocky Linux
,给笔记本装完 Rocky Linux9
版本后,发现没有 wifi
模块,因此不断的换其他系统进行尝试,在尝试了 Ubuntu20
、CentOS7
、Deepin
后,仍旧没有 wifi 模块。 经过一番周折后,最终在 deepin
论坛找到了原因且得到相关的解决方法,除了解决了 wifi 问题,另外还有一点就是 deepin
的 UI
设计与丰富的软件,都让我挺喜欢的,因此,经过考虑后,选择了 deepin
系统。
系统确定了,接下来就是 PHP 环境的搭建了。依旧是源码安装方式。在deepin
中,发现有很多扩展包可以不需要安装,因为系统已经安装好了。因此环境搭建起来容易很多。下面记录下安装过程:
安装 Nginx-1.22.1
nginx
安装变得更加简单了,下载源码包后,解压安装就行。
# 1)下载
cd /usr/local/src
wget http://nginx.org/download/nginx-1.22.1.tar.gz
# 2) 解压
tar -zxvf nginx-1.22.1.tar.gz
cd nginx-1.22.1
# 3) 编译
./configure \
--prefix=/usr/local/nginx-1.22.1 \
--user=nginx \
--group=nginx \
--with-pcre \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_random_index_module \
--with-http_secure_link_module \
--with-http_stub_status_module \
--with-http_auth_request_module \
--with-mail \
--with-mail_ssl_module \
--with-stream_ssl_module
# 4) 安装
make && make install
安装 Mysql-8.0.30
关于安装 mysql
,还是需要安装几个需要的依赖包
sudo apt -y install build-essential
sudo apt -y install libncurses5-dev
安装 mysql 依赖 rpcsvc-proto
wget https://github.com/thkukuk/rpcsvc-proto/releases/download/v1.4/rpcsvc-proto-1.4.tar.gz
tar -zxvf rpcsvc-proto-1.4.tar.gz
cd rpcsvc-proto-1.4
./configure
make && make install
上面几个依赖包安装完成后,就可以安装 mysql
了。
# 创建mysql用户组
groupadd mysql
# 创建mysql用户并禁止登陆
useradd -g mysql mysql -M -s /sbin/nologin/
# 1) 解压源码
tar -zxvf mysql-boost-8.0.30.tar.gz
cd mysql-boost-8.0.28
mkdir build
cd build
# 2)编译
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-8.0.30 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DSYSCONFDIR=/etc \
-DWITH_EXTRA_CHARSETS=all \
-DMYSQL_DATADIR=/home/data/mysql-8.0.30/data \
-DWITH_BOOST=/usr/local/src/mysql-8.0.30/boost \
-DDOWNLOAD_BOOST=1
# 3)安装
make && make install
安装完成后的后续操作和之前没有区别,就此就不写了,可以参考之前的文章。
安装 PHP-8.1.12
php
的依赖包,是一步一步 configure
坑出来来,先看缺少哪一个包,然后就安装哪一个包。下面是总结出来的所需要的包。
apt -y install libwebp-dev libjpeg-dev libpng-dev libxpm-dev libzip-dev libxslt1-dev libmcrypt-dev libsqlite3-dev libcurl4-openssl-dev libssl-dev autoconf
apt -y install libfreetype-dev libfreetype6-dev
apt -y install libonig-dev
# 1) 下载并解压
cd /home/tmp
wget https://www.php.net/distributions/php-8.1.10.tar.gz
tar -zxvf php-8.1.12.tar.gz
cd php-8.1.12
# 2)编译
./configure --prefix=/usr/local/php-8.1.12 \
--with-config-file-path=/usr/local/php-8.1.12/etc \
--with-fpm-user=www \
--with-fpm-group=www \
--enable-mbstring \
--enable-ftp \
--enable-gd \
--enable-gd-jis-conv \
--with-freetype \
--enable-mysqlnd \
--enable-pdo \
--enable-sockets \
--enable-fpm \
--enable-xml \
--enable-soap \
--enable-pcntl \
--enable-cli \
--with-openssl \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-pear \
--with-zlib \
--with-iconv \
--with-curl \
--with-jpeg \
--enable-sockets
# 3)安装
make && make install
关于 deepin
源码安装 LNMP
环境到这里就结束了。
安装 PHP 8.2
# 1) 下载并解压
cd /home/tmp
wget https://www.php.net/distributions/php-8.2.0.tar.gz
tar -zxvf php-8.1.12.tar.gz
cd php-8.1.12
# 2)编译
./configure --prefix=/usr/local/php-8.2.0 \
--with-config-file-path=/usr/local/php-8.2.0/etc \
--with-fpm-user=www \
--with-fpm-group=www \
--enable-mbstring \
--enable-ftp \
--enable-gd \
--enable-gd-jis-conv \
--with-freetype \
--enable-mysqlnd \
--enable-pdo \
--enable-sockets \
--enable-fpm \
--enable-xml \
--enable-soap \
--enable-pcntl \
--enable-cli \
--with-openssl \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-pear \
--with-zlib \
--with-iconv \
--with-curl \
--with-jpeg \
--enable-sockets
# 3)安装
make && make install