网站建站教程(二)

website-create-tutorial-php

本篇教程将对网站的搭建过程进行较为详细的介绍,包括WEB、PHP、数据库以及建站工具的安装和配置,同时还将包含相关的域名服务SSL服务的申请、配置等方面的内容。这里谈到的网站主要是指对信息的组织、管理、发布进行统一管理的信息平台,除了单独的个人以外,不同规模的公司网站也可以使用该教程介绍的方法进行搭建。教程中使用的系统、工具等都是主流的开源软件,因此没有购买成本。

PHP服务安装配置

在教程的第一部分介绍了Web服务器nginx的安装和配置,Web服务只能处理网站的静态内容,对于动态内容的处理,这里介绍采用PHP服务的技术实现方式。

PHP服务程序同样可以采用源代码编译安装和使用操作系统捆绑的安装包进行安装,这里首先介绍源代码编译的安装方式,最后再介绍系统捆绑包的安装。首先从官网下载源代码,比如 php-7.3.1.tar.gz,然后使用下面的命令解压缩:

$tar -xzvf php-7.3.1.tar.gz

接下来使用下面的命令进行编译和安装:

$./configure –enable-fpm –enable-mbstring –enable-gd –enable-exif –with-config-file-path=/usr/local/php –with-mysqli=mysqlnd –with-pdo-mysql=mysqlnd –with-zlib –with-openssl –with-zip –with-curl
$make
$make install

如果编译过程中出现问题,基本上是缺少相应的扩展程序库导致的,比如 –enable-mbstring 需要 php-mbstring 库支持,本教程使用的一些扩展程序库使用下面的命令来安装(debian系统):

#apt-get install build-essential //安装编译工具
#apt-get install pkg-config
#apt-get install php-mbstring libonig-dev //或者编译安装 oniguruma,看下面的介绍
#apt-get install zlib1g zlib1g-dev
#apt-get install libzip-dev
#apt-get install openssl libssl-dev
#apt-get install php-gd
#apt-get install curl libcurl3-gnutls //或者 libcurl4 libcurl4-openssl-dev
#apt-get install libxml2 libxml2-dev
#apt-get install libpng-dev
#apt-get install libsqlite3-dev
#apt-get install php-imagick //或者编译安装imagick,看下面的介绍

编译安装 oniguruma 模块。

$git clone https://github.com/kkos/oniguruma.git oniguruma
$cd oniguruma
$./autogen.sh
$./configure
$make
$sudo make install

编译安装 imagick 模块。

$sudo apt-get install libmagickcore-dev libmagickwand-dev
$git clone https://github.com/Imagick/imagick
$cd imagick
$phpize
$./configure
$make
$sudo make install

如果找不到curl有关的头文件,尝试使用下面的命令:

#cd /usr/include
#ln -s x86_64-linux-gnu/curl

如果使用 sqlite,但系统自带的版本比较低,可以到官网下载源代码自行编译(带配置文件的):

$tar -xzvf sqlite-autoconf-xxx.tar.gz
$cd sqlite-autoconf-xxx
$./configure
$make
$sudo make install
完成后运行 php,如果出现错误 php: symbol lookup error: php: undefined symbol: sqlite3_column_table_name
编辑 sqlite3.c,增加一行定义:#define SQLITE_ENABLE_COLUMN_METADATA 1
再重新编译安装。
查看 php 所用到的 sqlite3 共享库的位置,可以使用下面的命令:
$ldd /usr/bin/php | grep sqlite3
libsqlite3.so.0 => /usr/local/lib/libsqlite3.so.0 (0x00007f2a33d7a000)
查共享库的符号表,用下面的命令:
$nm -gD /usr/local/lib/libsqlite3.so.0|grep sqlite3_column_table_name
0000000000049340 T sqlite3_column_table_name
0000000000049350 T sqlite3_column_table_name16

编译安装完成后,配置运行环境:

#cp php.ini-development /usr/local/php/php.ini
#cp /usr/local/etc/php-fpm.conf.default /usr/local/etc/php-fpm.conf
#cp /usr/local/etc/php-fpm.d/www.conf.default /usr/local/etc/php-fpm.d/www.conf

编辑下面的配置文件,修改和增加相应的配置项:

#vi /usr/local/php/php.ini ##或使用其它的文本编辑器
cgi.fix_pathinfo=0
user = username ##如果使用其它的用户名(缺省的是www-data)
group = groupname ##如果使用其它的组名(缺省的是www-data)
extension=imagick.so
zend_extension=opcache.so
include_path = “.:/usr/local/lib/php” ##找到 include_path 所在位置修改
pdo_mysql.default_socket=/var/run/mysqld/mysqld.sock

修改完成后可以使用下面的命令查看需要的扩展库是否可以正常加载:

#php -m
[PHP Modules]
Core
ctype
curl

[Zend Modules]
Zend OPcache

配置文件修改完成后,使用下面的命令启动或停止PHP服务程序:

#php-fpm
#pkill php

使用系统捆绑的安装包就比较简单了,命令如下:

#apt-get install php
#apt-get install php-cli
#apt-get install php-fpm
#apt-get install php-mysql 安装 mysql 数据库驱动
#php -i |grep pdo_mysql 检查是否安装成功并启用
#apt-get install sqlite 安装 sqlite 驱动
#apt-get install sqlite3 安装 sqlite3 驱动
#apt-get install php-sqlite3 安装 sqlite3 数据库驱动
#php -i |grep pdo_sqlite3 检查是否安装成功并启用

上面就是网站动态内容处理服务程序PHP的安装和配置说明,PHP服务程序主要用来访问后台的数据库系统并把获得的数据进行组织并通过Web服务程序(nginx)呈现给前端的浏览器。本教程的第三部分将会介绍数据库系统的安装和配置。

发表评论

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