准备 Ubuntu 服务器环境(包括Apache 2.4\PHP 7.2\MySQL 8.0)

使用 apt 包管理器安装和更新软件。

以下所有命令(除了 echo 外)均需要超级用户身份(su)。

建议在使用 apt 包管理器前,将源切换到国内镜像。例如教育网可以使用上海交通大学或中国科学技术大学提供的镜像。

 

  • 2018年4月27日更新:

Ubuntu 18.04 LTS 已发布。接下来的文章内容将仅适配该版本。

新版 Ubuntu 中“软件与更新”设置从“系统设置”中消失了,您可以点击左下角的“Show Applications”,然后选择“Software & Updates”,进行软件源设置。

如果你需要使用已经安装好的 Ubuntu 18.04 虚拟机,您可以点击这里下载。

  1. 安装之前先更新:

    # apt update
    # apt upgrade

    您也可以直接同意升级或安装全部软件,可以在命令行后附加“-y”,下同。例如:

    # apt upgrade -y

     

  2. 安装 Apache:

    # apt install apache2

    安装 apache2 会先安装 apache2-bin、apache2-data、apache2-utils、libapr1、libaprutil1、libbaprutil1-dbd-sqlite3、libaprutil1-ldap、liblua5.2-0。
    安装完成后,打开浏览器,地址栏内输入“localhost”并回车,能看到 Apache2 Ubuntu Default Page 即为安装成功。

    如果今后需要编译 Apache2 模块,需要安装 apache2-dev:

    # apt install apache2-dev

     

  3. 安装 PHP 和必要的扩展:

    # apt install php
    # apt install php7.2-dev
    # apt install php-mbstring php-gettext php-imagick

    说明:
    第一行命令将安装 PHP 7.2.3,以及关联软件,如 libapache2-mod-php7.2。
    第二行命令将安装与 PHP 模块开发与编译有关的软件,接下来将要用到的 pecl 命令即为 php7.2-dev 开发包。
    第三行命令安装 mbstring、gettext、imagick 模块。

  4. 安装 MySQL(如果需要卸载旧版,请看第14步):

    # wget https://dev.mysql.com/get/mysql-apt-config_0.8.10-1_all.deb
    # dpkg -i mysql-apt-config_0.8.10-1_all.deb
    # apt install mysql-server php7.2-mysql

    因为 PHP 还未更新 mysqli,故配置参数时请选择使用 MySQL 5.x 连接方式,否则无法连接。

  5. 安装 Redis:

    # apt install redis-server
  6. 安装 Git:

    # apt install git
  7. 安装 htop:

    # apt install htop
  8. 安装 MongoDB(官方还未放出适配 Ubuntu 18.04 的版本,此步骤暂缓):

    我们并不从默认源安装 MongoDB,而是依照 MongoDB 官方文档说明安装:

    # apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
    # echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
    # apt update
    # apt install -y mongodb-org
  9. 安装 PHPMyAdmin:

    # wget https://files.phpmyadmin.net/phpMyAdmin/4.8.2/phpMyAdmin-4.8.2-all-languages.tar.gz
    # tar -zxf phpMyAdmin-4.8.2-all-languages.tar.gz
    # mv phpMyAdmin-4.8.2-all-languages /var/www/html/phpmyadmin
    # rm phpMyAdmin-4.8.2-all-languages.tar.gz
    # chown -R www-data:www-data /var/www/html

     

  10. 安装 Composer:

    建议将以下代码加入到脚本中执行:

    # php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
    # php composer-setup.php --install-dir=/usr/local/bin --filename=composer
    # php -r "unlink('composer-setup.php');"

    具体安装脚本请参照官网文档,以上代码仅供参考,因为每次新发布安装软件后,散列值都会改变。

  11. 安装 PHPUnit:

    安装最新版:

    # wget https://phar.phpunit.de/phpunit.phar
    # chmod +x phpunit.phar
    # mv phpunit.phar /usr/local/bin/phpunit
    # phpunit --version

    安装 PHPUnit 6.:

    # wget https://phar.phpunit.de/phpunit-6.5.8.phar
    # chmod +x phunit-6.5.8.phar
    # mv phpunit-6.5.8.phar /usr/local/bin/phpunit-6
    # phpunit-6 --version

    安装 PHPUnit 5.:

    # wget https://phar.phpunit.de/phpunit-5.7.27.phar
    # chmod +x phunit-5.7.27.phar
    # mv phpunit-5.7.27.phar /usr/local/bin/phpunit-5
    # phpunit-5 --version
  12. 安装 PHP 扩展:

    # pecl install -f https://pecl.php.net/get/xdebug
    # pecl install -f https://pecl.php.net/get/mongodb
    # pecl install -f https://pecl.php.net/get/timezonedb

    以上三行命令将下载编译 xdebug、mongodb、timezonedb 模块。
    编译完成后, PHP 的配置没有加入模块引用,需要手动加入:

    # echo "zend_extension=xdebug.so" | tee -a /etc/php/7.2/cli/php.ini
    # echo "extension=mongodb.so" | tee -a /etc/php/7.2/cli/php.ini
    # echo "extension=timezonedb.so" | tee -a /etc/php/7.2/cli/php.ini

    Apache 引用的 PHP 配置中也没有加入模块引用,同样需要手动加入:

    # echo "zend_extension=xdebug.so" | tee -a /etc/php/7.2/apache2/php.ini
    # echo "extension=mongodb.so" | tee -a /etc/php/7.2/apache2/php.ini
    # echo "extension=timezonedb.so" | tee -a /etc/php/7.2/apache2/php.ini

    加入后要重新启动 Apache 才能生效:

    # service apache2 restart
  13. 安装 Certbot

    # apt update
    # apt install software-properties-common
    # add-apt-repository ppa:certbot/certbot
    # apt update
    # apt install python-certbot-apache
    
  14. 如果需要安装新版 MySQL,则需要先卸载旧版:

    # apt-get autoremove --purge mysql-server
    # apt-get remove mysql-common
    # dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
    # apt-get remove php7.2-mysql
    # apt-get autoremove -y
    

关于 “准备 Ubuntu 服务器环境(包括Apache 2.4\PHP 7.2\MySQL 8.0)” 的 1 个意见

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据