MongoDB をインストール
Ubuntu Linux 19.04にMongoDBをインストールします。
$ sudo apt -y install mongodb
このままでは再起動時にMongoDBが停止したままです。自動起動するように次のコマンドを実行して設定を変更します。
$ sudo systemctl enable mongodb
MongoDBを起動します。
$ sudo systemctl start mongodb $ sudo systemctl status mongodb ● mongodb.service - An object/document-oriented database Loaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2020-01-12 15:03:35 UTC; 14s ago Docs: man:mongod(1) Main PID: 32416 (mongod) Tasks: 23 (limit: 1146) Memory: 156.1M CGroup: /system.slice/mongodb.service └─32416 /usr/bin/mongod --unixSocketPrefix=/run/mongodb --config /etc/mongodb.conf Jan 12 15:03:35 ubuntu-disco systemd[1]: Started An object/document-oriented database.
WebでMongoDBを操作する
MongoDBを利用するプログラムを作成する際にはDBに登録された内容を確認したくなります。このような欲求に答えてGUIツールをインストールしたいと思います。phpMyAdminのMongoDB版を探すことにします。
Googleで検索をかけるとphpMoAdminが見つかりました。しかし3年前の更新を最後にメンテナンスが止まっているようです。また、PHP7.2で利用している報告が確認できませんでした。
他にはないのかと探していたところ、RockMongoを見つけました。Running RockMongo on PHP7によるとPHP 7.0で利用しているようです。
今回はRockMongoをインストールしてみたいと思います。
MongoDB PHPドライバをインストール
peclをインストールします。
$ sudo apt -y install php-pear php7.2-dev
MongoDBドライバをインストールします。
$ sudo pecl install mongodb : Build process completed successfully Installing '/usr/lib/php/20170718/mongodb.so' install ok: channel://pecl.php.net/mongodb-1.6.1 configuration option "php_ini" is not set to php.ini location You should add "extension=mongodb.so" to php.ini
作成されたMongoDBドライバをPHPで利用されるように設定を行います。
$ sudo vi /etc/php/7.2/mods-available/mongodb.ini
/etc/php/7.2/mods-available/mongodb.ini
; configuration for php mongodb module ; priority=20 extension=mongodb.so
$ sudo ln -s /etc/php/7.2/mods-available/mongodb.ini /etc/php/7.2/apache2/conf.d/20-mongodb.ini $ sudo ln -s /etc/php/7.2/mods-available/mongodb.ini /etc/php/7.2/cli/conf.d/20-mongodb.ini
RockMongoをインストール
GitHubより最新のプログラムをダウンロードします。
筆者はZip形式を選択しました。
ダウンロードしたZipファイルを解凍して/var/www/rockmongo
に展開します。
$ unzip rockmongo-php7-master.zip $ sudo mkdir /var/www/rockmongo $ sudo chown vagrant:vagrant /var/www/rockmongo/ $ cd rockmongo-php7-master/ $ mv * /var/www/rockmongo/
Apache2からアクセスできるように設定を行います。
$ sudo vi /etc/apache2/sites-available/000-default.conf
/etc/apache2/sites-available/000-default.conf
<VirtualHost *:80> : <IfModule alias_module> Alias /rockmongo /var/www/rockmongo Alias /rockMongo /var/www/rockmongo Alias /RockMongo /var/www/rockmongo <Directory /var/www/rockmongo/> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> </IfModule>
$ sudo apache2ctl configtest AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message Syntax OK
サーバー名を指定していないので警告が発生しました。登録しましょう。
$ sudo vi /etc/apache2/conf-available/fqdn.conf
/etc/apache2/conf-available/fqdn.conf
ServerName hogeserver
$ sudo a2enconf fqdn Enabling conf fqdn. To activate the new configuration, you need to run: systemctl reload apache2 $ sudo apache2ctl configtest Syntax OK
設定ファイルの確認ができましたのでApacheを再起動します。
$ sudo service apache2 restart
早速ブラウザで確認してみましょう。
UserNameとPasswordにadmin
を入力してLogin and Rockボタンをクリックします。
起動確認ができました。