Drupal FastCGI

Installation Drupal mit Fast-CGI

Hier werden die Schritte beschrieben um auf Webfaction ein Drupal 7 mit PHP-Fast-CGI zu installieren und die benötigten Module zu installieren. Bei Webfaction wird ein 2GB Cloud für $30.00 per Monat empfohlen.

Eine Installation von einem günstigen 5$ SSL Zertifikat kann vom Webfaction Support für eine zuvor angelegte Site installiert werden

Hinweise:

  • Der einzige Nachteil von dem von Webfaction eingebauten FastCGI ist, dass hier keine eigene Extensions geladen werden können, dazu müsste eben ein Apache oder NGINX lokal kompiliert/installiert werden.

Vorbereitung

Beim Webfaction ControlPanel gibt unter Domains/Website folgende relevanten Einstellungen

  • Domains
  • Applications
  • Websites

Drupal Core Installation

Drupal (Webfaction) Applicationen erstellen

Eine normale Applications "Drupal" installieren und das ganze dann als Websites mit einem Domainnamen wie z.B. example.com einrichten. Die Datenbank wird im Hintergrund automatisch erstellt und Drupal wird vorbereitet. Man muss aber nachher dennoch den Domain direkt aufrufen um die Installation abzuschliessen.

Drupal Seite aufrufen

Jetzt sollte der URL der Webapplication aufgerufen werden und die üblichen Installationsschritte von Drupal durchgeführt werden.

Drupal Setup

Anschliessend sollte man die üblichen Drupal Einstellungen anpassen:

  • Private file system path
  • Regional Settings
  • Site Information
  • Performance

PHP Anpassungen

Aktivieren von PHP 5.6

PHP 5.6 sollte auch bei dieser Web Application aktiviert werden. Gehe dazu in die .htaccess und füge php56-cgi hinzu. Mit fcgi3, werden drei FastCGI Prozesse definiert.

<FilesMatch .php$>
    SetHandler php56-fcgi3
</FilesMatch>

Drush

wget http://files.drush.org/drush.phar
php drush.phar core-status
chmod +x drush.phar
mv drush.phar /usr/local/bin/drush

Teilweise muss noch die richtige Version definiert werden:

alias drush='/usr/local/bin/php56 /home/USERNAME/.composer/vendor/bin/drush'

Upload progress

Solange man auf php-cgi ist, kann man eigene Extensions einbauen. Hier empfiehlt es sich "uploadprogress" zu installieren:

wget wget http://pecl.php.net/get/uploadprogress-1.0.3.1.tgz
phpize56
./configure --with-php-config=/usr/local/bin/php56-config
make
mkdir ~/php56-exts
cp modules/uploadprogress.so ~/php56-exts/
ln -s /usr/local/lib/php56/extensions/no-debug-non-zts-20131226/* ~/php56-exts/
echo "extension_dir = /home/lotek/php56-exts" >> ~/webapps/example/php.ini
echo "extension = uploadprogress.so" >> ~/webapps/example/php.ini

Abschluss der Installation

Drupal updaten

Die Webfaction Drupal Installation ist manchmal eine Minor Version zurück, weshalb jetzt ganz einfach via Drush der Update erfolgen kann, zuerst mit "ups" überprüfen und dann mit "up" den Update ausführen.

drush ups
drush up

Drupal überprüfen

Und am Schluss noch "Status Report" unter Reports aufrufen und prüfen ob alles OK ist.

Cron

Der Cron sollte besser über ein crontab umgesetzt werden. Der richtige Link ist aus den Einstellungen zu entnehmen.

@hourly       curl --silent https://www.example.com/cron.php?cron_key=aasdfasdf