RockMongo auf CentOS 7 x64 installieren und nutzen
RockMongo ist ein webbasiertes Verwaltungstool für MongoDB, vergleichbar mit phpMyAdmin für MySQL. Diese Anleitung zeigt Schritt für Schritt, wie du RockMongo auf einem CentOS 7 x64 System einrichtest und verwendest.
Voraussetzungen für die Installation
Bevor du loslegst, solltest du sicherstellen, dass folgende Bedingungen erfüllt sind:
- Ein aktuelles CentOS 7 x64 System
- Ein Benutzerkonto mit
sudo
-Rechten
Schritt 1: Apache Webserver installieren
Da RockMongo über den Webbrowser läuft, benötigst du einen funktionierenden Webserver. In dieser Anleitung verwenden wir Apache. Installiere und aktiviere Apache mit diesen Befehlen:
sudo yum install httpd
sudo systemctl start httpd.service
sudo systemctl enable httpd.service
Schritt 2: Firewall konfigurieren
Damit du RockMongo im Browser erreichen kannst, muss HTTP-Verkehr durch die Firewall erlaubt werden. Verwende dazu die folgenden Kommandos:
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload
Öffne anschließend deinen Webbrowser und rufe http://[YourServerIP]
auf, um zu prüfen, ob Apache erfolgreich gestartet wurde.
Schritt 3: PHP 5 und notwendige Erweiterungen installieren
Da RockMongo auf PHP 5 basiert, musst du PHP sowie einige wichtige Erweiterungen installieren, damit das Tool korrekt funktioniert:
sudo yum install php php-devel php-pear php-pecl-mongo
sudo yum install gcc openssl.x86_64 openssl-devel.x86_64
sudo pecl install mongodb
echo 'extension=mongodb.so' | sudo tee -a /etc/php.ini
Schritt 4: MongoDB installieren
Fahre fort, indem du der offiziellen Anleitung folgst, um MongoDB auf deinem CentOS-System zu installieren.
Schritt 5: MongoDB konfigurieren
Vor der Nutzung von MongoDB sind einige Optimierungen an der Konfiguration erforderlich:
a) Transparent Huge Pages deaktivieren
Erstelle zunächst ein Startskript, um die transparenten Huge Pages zu deaktivieren:
sudo vi /etc/init.d/disable-transparent-hugepages
Füge folgenden Inhalt in die Datei ein:
#!/bin/sh
### BEGIN INIT INFO
# Provides: disable-transparent-hugepages
# Required-Start: $local_fs
# Required-Stop:
# X-Start-Before: mongod mongodb-mms-automation-agent
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Disable Linux transparent huge pages
# Description: Disable Linux transparent huge pages, to improve
# database performance.
### END INIT INFO
case $1 in
start)
if [ -d /sys/kernel/mm/transparent_hugepage ]; then
thp_path=/sys/kernel/mm/transparent_hugepage
elif [ -d /sys/kernel/mm/redhat_transparent_hugepage ]; then
thp_path=/sys/kernel/mm/redhat_transparent_hugepage
else
return 0
fi
echo 'never' > $/enabled
echo 'never' > $/defrag
unset thp_path
;;
esac
Speichere die Datei und beende den Editor:
:wq!
Mache das Skript ausführbar und füge es dem Autostart hinzu:
sudo chmod 755 /etc/init.d/disable-transparent-hugepages
sudo chkconfig --add disable-transparent-hugepages
Erstelle nun das passende Tuned-Profil und öffne die Konfigurationsdatei:
sudo mkdir /etc/tuned/no-thp
sudo vi /etc/tuned/no-thp/tuned.conf
Trage diesen Inhalt in die Konfigurationsdatei ein:
[main]
include=virtual-guest
[vm]
transparent_hugepages=never
Speichere die Änderungen und verlasse den Editor:
:wq!
Aktiviere das neu erstellte Tuned-Profil:
sudo tuned-adm profile no-thp
b) ulimit-Werte setzen
Öffne die Konfigurationsdatei für Benutzerlimits:
sudo vi /etc/security/limits.conf
Füge am Ende der Datei diese vier Zeilen hinzu:
mongod soft nofile 64000
mongod hard nofile 64000
mongod soft nproc 32000
mongod hard nproc 32000
Speichere die Datei und verlasse den Editor:
:wq!
Starte den Server neu, damit alle Änderungen wirksam werden:
sudo shutdown -r now
Schritt 6: RockMongo installieren
Beginne mit der Installation von RockMongo, indem du die neueste stabile Version direkt von GitHub herunterlädst. Verwende dazu folgende Befehle:
cd ~
wget https://github.com/iwind/rockmongo/archive/1.1.7.tar.gz
tar zxvf 1.1.7.tar.gz
Aus Sicherheitsgründen solltest du anschließend den Standard-Benutzernamen und das Standard-Passwort von RockMongo ändern. Öffne dazu die Konfigurationsdatei:
vi rockmongo-1.1.7/config.php
Suche folgende Zeile in der Datei:
$MONGO["servers"][$i]["control_users"]["admin"] = "admin";//one of control users ["USERNAME"]=PASSWORD, works only if mongo_auth=false
Ändere das erste „admin“ in deinen gewünschten Benutzernamen und das zweite „admin“ in dein gewähltes Passwort. Speichere die Datei und beende den Editor:
:wq!
Verschiebe den extrahierten RockMongo-Ordner in das Webverzeichnis deines Servers:
sudo mv ~/rockmongo-1.1.7 /var/www/html/
Nachdem alle Schritte abgeschlossen sind, kannst du RockMongo über deinen Browser aufrufen unter:
http://[YourServerIP]/rockmongo-1.1.7
Logge dich mit den in der Konfigurationsdatei festgelegten Zugangsdaten ein.
Fazit
Wenn du alle oben beschriebenen Schritte ausgeführt hast, ist RockMongo erfolgreich auf deinem CentOS 7 x64 Server eingerichtet. Du hast Apache, PHP und MongoDB installiert und konfiguriert, das System für optimale Leistung angepasst und die RockMongo-Oberfläche sicher eingebunden. Ab sofort kannst du deine MongoDB-Datenbanken bequem über das Webinterface unter http://[YourServerIP]/rockmongo-1.1.7
verwalten.