Apache mit PHP, MySql, Ruby und Passenger installieren

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.