Ubuntu Server 18.04 LTSにLAMP環境を構築する


はじめに

Ubuntu Server 18.04 LTSにLAMP環境を構築する。データベースは、MariaDB, PostgreSQL, SQliteをインストールする。インターネットで公開する場合は、別途、セキュリティ設定をしてください。

MariaDB

インストール

$ sudo apt-get install mariadb-server mariadb-client

セキュア設定

$ sudo mysql_secure_installation
設定項目
Enter current password for root (enter for none): 

Set root password? [Y/n] y

Remove anonymous users? [Y/n]

Disallow root login remotely? [Y/n]

Remove test database and access to it? [Y/n]

Reload privilege tables now? [Y/n]

接続確認

sudo mysql -u root -p

PostgreSQL

インストール

$ sudo apt-get install postgresql

設定

/etc/postgresql/10/main/pg_hba.confの編集する
(特に設定変更しなくともデフォルトのままで接続できます)

クライアント認証

/etc/postgresql/10/main/postgresql.confの編集する

設定例)すべてのリモートからの接続

listen_addresses = '*'

SQLite

インストール

$ sudo apt-get install sqlite3

Apache

インストール

$ sudo apt-get install apache2

動作確認

ブラウザで『http://サーバのIP/』にアクセスする。

PHP

インストール

$ sudo apt-get install php7.2

PHPのテスト

/var/www/html/info.php作成
<?php
phpinfo();
?>

MariaDB / PostgreSQLのPHPサポート

php7.2インストール済みモジュール
$ dpkg -l | grep php7.2

php7.2インストール済み一覧
ii  libapache2-mod-php7.2                 7.2.3-1ubuntu1                    amd64        server-side, HTML-embedded scripting language (Apache 2 module)
ii  php7.2                                7.2.3-1ubuntu1                    all          server-side, HTML-embedded scripting language (metapackage)
ii  php7.2-cli                            7.2.3-1ubuntu1                    amd64        command-line interpreter for the PHP scripting language
ii  php7.2-common                         7.2.3-1ubuntu1                    amd64        documentation, examples and common module for PHP
ii  php7.2-json                           7.2.3-1ubuntu1                    amd64        JSON module for PHP
ii  php7.2-opcache                        7.2.3-1ubuntu1                    amd64        Zend OpCache module for PHP
ii  php7.2-readline
php7.2のモジュール一覧
$ apt-cache search php7.2
$ apt-cache search php-
php7.2のモジュール一覧(一部)
libapache2-mod-php7.2 - server-side, HTML-embedded scripting language (Apache 2 module)
php-all-dev - package depending on all supported PHP development packages
php7.2 - server-side, HTML-embedded scripting language (metapackage)
php7.2-cgi - server-side, HTML-embedded scripting language (CGI binary)
php7.2-cli - command-line interpreter for the PHP scripting language
php7.2-common - documentation, examples and common module for PHP
php7.2-curl - CURL module for PHP
php7.2-dev - Files for PHP7.2 module development
php7.2-gd - GD module for PHP
...
...
...

ここでは、これらをインストールする。

$ sudo apt-get install php7.2-curl php7.2-gd php7.2-mysql php7.2-pgsql php7.2-sqlite3 php7.2-xmlrpc php7.2-intl php7.2-mbstring

確認

Apacheを再起動
$ sudo systemctl restart apache2

リファレンス