Das Ziel besteht darin, auf derselben Maschine einen multifunktionalen Webserver zu erstellen, auf dem HTML-, PHP- und Ruby/Rails-Anwendungen gleichgültig ausgeführt werden können, mit der Möglichkeit, eine Verbindung zu einer MySQL-Datenbank herzustellen.
Dieser Server wird in der Lage sein, gleichzeitig PHP-Anwendungen wie WordPress und Rails-Anwendungen wie Redmine auszuführen .
Dazu installieren wir Apache auf Debian mit der notwendigen Software:
- MySQL
- Apache
- ImageMagick
- PHP
- phpMyAdmin
- Ruby, RubyGem, Ruby on Rails
- Bündeler
- Passagier
Contents
MySQL installieren
aptitude install mysql-server mysql-common libmysqlclient-dev mysql-client
Während der Installation müssen Sie das mysql-Admin-Passwort eingeben.
Überprüfen Sie die korrekte Versionsinstallation mit mysql -V
. Seien Sie vorsichtig, es ist ein großes „V“.
Apache unter Debian installieren
Standardmäßig installiert Apache mit MPM-Worker, aber PHP erfordert die Verwendung von MPM-Prefork.
Um komplexe Apache-Einstellungen mit FastCGI zu vermeiden, um PHP auf MPM-Worker auszuführen, werden wir Apache direkt mit MPM-Prefork installieren.
aptitude install apache2 apache2-mpm-prefork apache2-prefork-dev libapr1-dev libaprutil1-dev libfcgi-dev libssl-dev zlib1g-dev libcurl4-openssl-dev
Überprüfen Sie die korrekte Versionsinstallation mit apache2 -v
.
Und um zu überprüfen, ob es funktioniert: http: // ip_du_serveur.
Es klappt!
Nehmen Sie sich einen Moment Zeit, um Ihren Apache-Server zu konfigurieren und ein SSL-Zertifikat zu konfigurieren.
ImageMagick installieren
ImageMagick ermöglicht unter anderem PHP und Ruby, Bilder zu manipulieren.
aptitude install imagemagick libmagickwand-dev
PHP installieren
Wir installieren PHP mit mod-php5 für Apache sowie den MySql-Connector.
aptitude install php5 libapache2-mod-php5 php5-mysql
Um zu überprüfen, ob PHP funktioniert, erstellen wir eine PHP-Testdatei (eine phpinfo, die die Konfiguration von PHP angibt) in der Apache-Dokumentwurzel.
Berühren Sie /var/www/phpinfo.php echo "<? php phpinfo();?>" >> /var/www/phpinfo.php
Und um das Ergebnis zu sehen: http: //ip_du_serveur/phpinfo.php.
Anschließend installieren wir die gängigsten Module für PHP. Dadurch wird vermieden, dass sie installiert werden müssen, wenn Anwendungen sie anfordern.
aptitude install php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-ordentlich php5-xmlrpc php5-x
Dort kann es sein, dass Aptitude einen Konflikt erkennt und anbietet, libgd2-noxpm zu entfernen. Wir antworten mit „Ja“, es ist a priori ohne Konsequenzen.
Sie können kurz anhalten, um PHP 5 zu konfigurieren.
Optional: Installieren Sie auch den PHP-APC-Cache, um das Seitenrendering zu beschleunigen.
aptitude installiere php-apc
phpMyAdmin installieren
aptitude installiere phpmyadmin
Der Installer fragt, welchen Webserver er installieren soll, Apache oder Lighthttpd. Wir überprüfen Apache. Es fragt dann, wo die phpMyadmin-Konfigurationen gespeichert werden. In Dateien oder in einer Datenbank ist es am einfachsten, den Dateimodus zu wählen.
Also beantworten wir die Frage „Install dbconfig-common“ mit „Nein“.
PhpMyadmin ist weder im Apache Documentroot noch in den Ordnern „site-aviable“ und „site-enabled“ sichtbar. Es wird in einem vhost im Ordner /etc/apache2/conf.d deklariert.
PhpMyadmin ist verfügbar unter http: // server_ip / phpmyadmin
Ruby installieren
Wir fügen nun die gesamte Ruby-Umgebung zu unserem Server hinzu.
Ruby wird benötigt, um Redmine installieren zu können.
aptitude install ruby1.9.3 ruby-dev libruby rubygems libmysql-ruby
Überprüfen Sie die korrekte Installation der Version mit ruby -v
und gem -v
.
Bundler installieren
Bundler ist ein Gem, mit dem Sie die Abhängigkeiten eines Projekts verwalten können, einschließlich derer von Rails-Anwendungen wie Redmine.
Gem Install Bundler
Beifahrer installieren
Passenger ermöglicht es Apache, ein Ruby/Rails-Programm zu steuern und auszuführen.
Passenger wird über Gem und nicht über Aptitude installiert.
Edelstein installieren Passagier
Sobald Passenger installiert ist, installieren wir das Modul für Apache (das neu kompiliert wird). Beachten Sie, dass Sie ein Minimum an Leistung und Austausch benötigen. Das Installationsprogramm gibt eine Warnung aus, wenn nicht mindestens 1 GB Swap verfügbar ist.
Beifahrer-Install-Apache2-Modul
Am Ende der Kompilierung fordert das Installationsprogramm zum Bearbeiten von 2 Dateien auf und gibt auch ein Beispiel für die Apache-vhost-Konfiguration für eine Ruby-Anwendung.
Erstellen Sie die Datei /etc/apache2/mods-available/passenger.load
und fügen Sie die Zeile hinzu LoadModule passenger_module /var/lib/gems/1.9.1/gems/passenger-4.0.14/buildout/apache2/mod_passenger.so
Dies teilt Apache mit, wo sich der mod_passenger befindet.
Tippen Sie auf /etc/apache2/mods-available/passenger.load echo "LoadModule Passenger_module /var/lib/gems/1.9.1/gems/passenger-4.0.14/buildout/apache2/mod_passenger.so" >> /etc/apache2/mods-available/passenger.load
Erstellen Sie die Datei /etc/apache2/mods-available/passenger.conf
und fügen Sie die Zeilen PassengerRoot /var/lib/gems/1.9.1/gems/passenger-4.0.14
, PassengerDefaultRuby /usr/bin/ruby1.9.1
und PassengerDefaultUser www-data
.
Diese letzte Anweisung ist wichtig, da sie den Benutzer definiert, der mod_passenger ausführt. Dort ist es „www-data“, der Standard-Apache-Benutzer. Die 2 muss identisch sein.
Tippen Sie auf /etc/apache2/mods-available/passenger.conf echo "PassengerRoot /var/lib/gems/1.9.1/gems/passenger-4.0.14" >> /etc/apache2/mods-available/passenger.conf echo "PassengerDefaultRuby /usr/bin/ruby1.9.1" >> /etc/apache2/mods-available/passenger.conf echo "PassengerDefaultUser www-data" >> /etc/apache2/mods-available/passenger.conf
Wir aktivieren das Modul:
a2enmod Passagier
Alles, was Sie noch tun müssen, ist Apache neu zu starten:
Dienst Apache2 Neustart
Die Konfiguration ist abgeschlossen. Der Server ist funktionsfähig.
Wir können mit der Redmine-Installation fortfahren.