nginx
mariadb
Ajenti
LEMP
PHP7.2

Ubuntu 18.04LTSにLEMP+Ajenti環境構築

Linux(Ubuntu) + nginx + MariaDB + PHPの設置

Ubuntu 18.04(Bionic)にLEMP環境とAjentiによる管理ツールを設置します。

インストール

1-1, PHP7.2をインストール

Ondřej Surý氏のリポジトリを使用します。(必要に応じてパッケージを追加)

$ update-locale LC_ALL=C.UTF-8
$ apt install software-properties-common
$ add-apt-repository ppa:ondrej/php
$ apt update
$ apt upgrade
$ apt install -y php7.2-cli php7.2-fpm php7.2-curl php7.2-mbstring composer

1-2, nginxのインストール

公式リポジトリを使用しましょう。

まず、キーを登録します。

$ wget -q http://nginx.org/keys/nginx_signing.key -O- | sudo apt-key add -

次にリポジトリを登録します。

/etc/apt/sources.list.d/nginx.list
deb http://nginx.org/packages/ubuntu/ bionic nginx
deb-src http://nginx.org/packages/ubuntu/ bionic nginx

あとは、通常通りコマンドを実行するだけです。

apt update
apt install nginx

1-3, MariaDBのインストール

ここも、公式リポジトリに書いてあるように登録するだけです。

$ apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
$ add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://ftp.yz.yamagata-u.ac.jp/pub/dbms/mariadb/repo/10.3/ubuntu bionic main'

でインストール。

$ apt update
$ apt install mariadb-server

1-4, AjentiとAjenti-xのインストール

自動インストールできますが、トップページに書かれている方法でインストールするとAjenti2がインストールされてしまいます。こちらのバージョンはnginxの管理ツールなどが含まれていないため1.x系をインストールしましょう。うっかり2.xをインストールしてしまっていた場合は後述。

また、Ubuntu 18.04ではpython-imagingが通常ではインストール出来ないため、手動でインストールする必要があります。

$ apt upgrade
$ apt install python-pillow
$ wget http://security.ubuntu.com/ubuntu/pool/universe/p/pillow/python-imaging_4.1.1-3build2_all.deb
$ dpkg -i python-imaging_4.1.1-3build2_all.deb
$ wget -O- https://raw.github.com/ajenti/ajenti/1.x/scripts/install-ubuntu.sh | sudo sh
$ wget -O- https://raw.github.com/ajenti/ajenti/1.x/scripts/install-ubuntu.sh | sudo sh

ajenti本体のインストールが完了したら、動作確認をします。https://localhost:8000/に接続し、管理パネルが表示されることを確認してください。

ajenti-vをインストールします。こちらに管理ツールが含まれます。

apt-get install ajenti-v ajenti-v-nginx ajenti-v-mysql ajenti-v-php7.2-fpm
service ajenti restart

2, 設定を行う

https://localhost:8000/にアクセスして、ユーザ名root、パスワードadminでログインします。言うまでもなくこのままでは危険なので、「設定」のユーザの「以下と同期」をOSユーザーに変更し、「保存」ボタンを押します。すると、ユーザ一覧にユーザ名が追加されます。

ここで再起動する前に、忘れずに追加したユーザに権限を追加しましょう。ログインはできても、管理できない状態になります。その場合は、/etc/ajenti/config.jsonを編集してやり直してください。

3, トラブルシューティング

Ajenti2をインストールしてしまった場合、手動で削除する必要があります。

pip uninstall ajenti-panel ajenti.plugin.dashboard ajenti.plugin.settings ajenti.plugin.plugins ajenti-panel ajenti.plugin.dashboard ajenti.plugin.settings ajenti.plugin.plugins ajenti.plugin.filemanager ajenti.plugin.notepad ajenti.plugin.packages ajenti.plugin.services ajenti.plugin.terminal
apt remove ajenti*
rm -rf /etc/ajenti
apt purge ajenti