torstenzenk's picture

Apache PageSpeedMod nur für einen vhost aktivieren

Apache PageSpeedMod nur für einen vhost aktivieren

Das Modul PageSpeedMod für Apache gibt einer Seite den Extra-Kick an Geschwindigkeit, wenn der Server vorher an anderer Stelle so gut es geht optimiert wurde.
Aktiviert man das Modul einfach nur werden sofort alle Vhosts komprimiert ausgeliefert. Das ist gut für Seiten die nicht mehr entwickelt oder gethemed werden.
Allerdings nicht gut wenn ein Theme angepasst werden soll.

Daher sollten die unten genannten Einträge in der Datei
/etc/apache2/mods-enabled/pagespeed.conf
folgendermassen angepasst werden, um PageSpeedMod generell zu deaktiveren, aber das individuelle auslesen der PageSpeedConfig für einzelne Vhosts zu aktivieren:

ModPagespeedInheritVHostConfig off

Zusätzlich kopiert man nun den Inhalt der Datei pagespeed.conf komplett in alle gewünschten vhost-Dateien zwischen die <VirtualHost></VirtualHost>unter
/etc/apache2/sites-available
und kommentiert dort dann folgende Einträge aus, da sie aus der globalen PageSpeedConf Datei gelesen werden:

# ModPagespeedInheritVHostConfig off
# ModPagespeedMessageBufferSize 100000

Apache Neustart. Fertig!

torstenzenk's picture

Drupal Commerce -Change the machine readable name of a content type afterwards

Drupal Commerce -Change the machine readable name of a content type afterwards

Within your database go to the table
node_type
and change the values of the
type
column.

torstenzenk's picture

Drupal Commerce - Change Product variation type afterwards

Drupal Commerce - Change Product variation type afterwards

To Change the machine-readable name of a product variation type in drupal commerce afterwards, you simply can go to the database table
commerce_product_type
and change the
type
value field to what you want it to be.

torstenzenk's picture

Drupal Commerce -Change SKU afterwards

Drupal Commerce -Change SKU afterwards

Today i faced the problem that there is no way to change the SKU of a product using the webinterface of commerce.

So i found the table that it could be changed in using this mysql-select:

SELECT * FROM   information_schema.columns WHERE  table_schema = 'my_database_name'  AND column_name IN ( 'sku' );

i simply had to change the values in the SKU field in the "commerce_product" table

torstenzenk's picture

Drupal Fullcalendar - 24-Stunden Format einstellen

Drupal Fullcalendar - 24-Stunden Format einstellen

Das Modul Fullcalendar bietet endlose Möglichkeiten verschiedenste Kalender zu verwirklichen. Um das Zeitformat auf das deutsche 24-Stunden Format einzustellen musste man jedoch in der Vergangenheit direkt im Code der fullcalendar.js Änderungen vornéhmen. Das ist mittlerweile anders.

Innerhalb der Ansicht unter Format: Fullcalendar | Einstellungen geht man folgendermaßen vor:

1. "Einstellungen" anklicken

2. "Time/date settings" öffnen

3. "Enable advanced time and date format settings" aktivieren

4. Unter "Achsformatierung" und "Zeitformat" ändert man nun das kleine "h" (steht für 12-Stunden-Format) in ein grosses "H"

Nach dem Abspeichern hat man nun die gewünschte 24-Stunden Darstellung.

 

torstenzenk's picture

Drupal - APC läuft nicht unter PHP5.5? Doch!

php-apc, php5-apc, php5-apcu, Debian, PHP5.4, PHP5.5, Drupal

Nachdem ich heute für ein Projekt mal die Sourcen für PHP 5.5.x unter Debian für ein Drupalprojekt installiert habe, fiel mir auf das php-apc nicht installiert werden konnte.
Ein Downgrade auf PHP 5.4.x über Aptitude würde funktionieren, ABER das sollte nicht die Lösung sein. Nach einer ziemlich zeitintensiven Suche in allen möglichen Foren, die alle behaupteten APC läuft nicht unter PHP5.5 las ich den Tip eines Users mit Verweis auf APCU.
Damit geht die Installation von APC unter PHP5.5 sehr einfach und Drupal erkennt es auch.

So geht´s:
1. Update der sources.list sudo apt-get update

2. Installation von APCU sudo apt-get install php5-apcu

3. Die richtige php.ini Datei lokalisieren und öffnen locate php.ini && sudo vi /path/to/php.ini

4. Den nötigen Eintrag darin vornehmen apc.rfc1867 = 1

Apache neu starten. FERTIG!

torstenzenk's picture

Intregrating ActiveCollab into Drupal7

Intregrating ActiveCollab into Drupal7

As ActiveCollab is a great tool for planning and getting projects done and, of course, Drupal is THE CMS i work with, i searched for a solution to maybe integrate an exisiting Active Collab - system into a new designed Knowledgebase that was set up with drupal7.
Luckily i found the Zapier service. You can create processes there with different types of webservices being integrated into one another.
BUT as drupal is not yet supported they started a voting campaign for drupal to be integrated in their service.

So if you like these two applications please go there and VOTE for drupal: https://zapier.com/zapbook/activecollab/drupal/

Recognizing that the ActiveCollab module at drupal.org is in a 6-dev state and Drupal8 is about to come, this seems to be the best way to go.

torstenzenk's picture

JSMin PHP Extension für Drupal7 auf Debian Server installieren

 JSMin PHP Extension für Drupal7 auf Debian Server installieren

Heute war mal wieder Optimierungstag für diverse Drupal-Projekte. Dabei setzte ich das erste mal erfolgreich das Advanced CSS/JS Aggregation Modul ein. Nach ein bißchen Finetuning wandelte sich die von YSlow getestete Seite von einem durchschnittlichen C in ein schönes A.
Allerdings gab es noch immer Verbesserungen die ich umsetzen wollte und dazu gehörte die Installation der pecl-jsmin Library denn schliesslich sagte mir Drupal in der Advagg-Konfiguration unter admin/config/development/performance/advagg/js-compress:

You can use the much faster C version of JSMin by installing the JSMin PHP Extension on this server.

Okay, auf geht´s dachte ich mir und fand etwas weiter unten auf der Downloadseite der pecl-jsmin library eine Standard-Installationsanleitung die ich als Ausgangsbasis für dieses HowTo genutzt habe.

1. pecl install jsmin-beta

downloading jsmin-0.1.1.tgz ...
Starting to download jsmin-0.1.1.tgz (7,861 bytes)
.....done: 7,861 bytes
6 source files, building
running: phpize
Configuring for:
PHP Api Version:         20100412
Zend Module Api No:      20100525
Zend Extension Api No:   220100525
shtool at '/tmp/pear/temp/jsmin/build/shtool' does not exist or is not executable.
Make sure that the file exists and is executable and then rerun this script.

If the command failed with 'phpize: not found' then you need to install php5-dev packageYou can do it by running 'apt-get install php5-dev' as a root userERROR: `phpize' failed

Das lag daran das mein tmp Verzeichnis einige Sicherheitseinschränkungen hat und dort z.B. nichts ausgeführt werden kann. Also musste ein Verzeichnis her in dem executed werden darf und Pecl sollte wissen wo sein neues Temp-Verzeichnis ist

2. sudo mkdir /jsmin && sudo chmod 770 /jsmin && sudo chown ich.root /jsmin

3. sudo pear config-set temp_dir /jsmin/
config-set succeeded

Vorher noch ein kurzer Check ob shtool installiert ist:

4.sudo apt-get install shtool

Reading package lists... Done
Building dependency tree
Reading state information... Done
shtool is already the newest version.
shtool set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Alles klar, dann kann jetzt das jsmin Paket installiert werden.

5. sudo pecl install jsmin-beta

downloading jsmin-0.1.1.tgz ...
Starting to download jsmin-0.1.1.tgz (7,861 bytes)
.....done: 7,861 bytes
6 source files, building
running: phpize .....................................

Build process completed successfully
Installing '/usr/lib/php5/20100525/jsmin.so'
Installing '/usr/include/php5/ext/jsmin/php_jsmin.h'
install ok: channel://pecl.php.net/jsmin-0.1.1
configuration option "php_ini" is not set to php.ini location
You should add "extension=jsmin.so" to php.ini

6. sudo vi path/to/php.ini
extension=jsmin.so

eintragen und Apache neu starten. Jetzt kann man unter admin/config/development/performance/advagg/js-compress diesen schönen Eintrag sehen:

JSMin is the C complied version and is about 25 times faster. Recommend using it.

 

 

torstenzenk's picture

Use the search_api_solr Module with OpenAtrium and Apache Solr on Debian Wheezy

Use the search_api_solr Module with OpenAtrium and Apache Solr on Debian Wheezy

If you have set up the latest search_api_solr Module with OpenAtrium and want to use Apache Solr on Debian Wheezy here is my way to do it. I have tried to make the latest Solr 4.x work a few times without success. So i decided to use the latest 3.x version of solr and it worked smoothly. To make it start automatically on reboot this is the way to make it work:

Downloads you need for this tutorial:
http://archive.apache.org/dist/lucene/solr/3.6.2/apache-solr-3.6.2.zip

#!/bin/bash

1.extract the zip file to a directory outside of yout webroot directory and jump into it:
unzip apache-solr-3.6.2.zip
cd /apache-solr-3.6.2/example

2.Check if Java is installed and manually start Solr
which java
/usr/bin/java

3. Install Daemon on Linux
sudo apt-get install daemon

4. Copy the following files into the solr conf directory and before that delete the exisiting ones there
cd /solr/apache-solr-3.6.2/example/solr/conf
sudo rm -rf elevate.xml mapping-ISOLatin1Accent.txt protwords.txt schema_extra_fields.xml schema_extra_types.xml schema.xml solrconfig_extra.xml solrconfig.xml solrcore.properties stopwords.txt synonyms.txt
cd /openatrium/profiles/openatrium/modules/contrib/search_api_solr/solr-conf/3.x
sudo cp elevate.xml mapping-ISOLatin1Accent.txt protwords.txt schema_extra_fields.xml schema_extra_types.xml schema.xml solrconfig_extra.xml solrconfig.xml solrcore.properties stopwords.txt synonyms.txt /apache-solr-3.6.2/example/solr/conf

5. Try to start Solr
cd /apache-solr-3.6.2/example
/usr/bin/java -jar start.jar

If that is a success go on with these steps

6. Create a directory for the solr logfile and create solr.log there
sudo mkdir /var/log/solr/
sudo vi solr.log

7.Create the startup script /etc/init.d/solr and copy this code into that file: sudo vi /etc/init.d/solr
########################## Script Start ########################################
<code>#!/bin/sh

start () {
    echo -n "Starting solr..."

    # Start daemon
    daemon --chdir='/apache-solr-3.6.2/example' --command "java -jar start.jar" --respawn --output=/var/log/solr/solr.log --name=solr --verbose

    NAME=solr
    PIDFILE=/var/run/$NAME.pid
    ### BEGIN INIT INFO
    # Provides:          solr
    # Required-Start:    $remote_fs $syslog
    # Required-Stop:     $remote_fs $syslog
    # Default-Start:     2 3 4 5
    # Default-Stop:      0 1 6
    # Short-Description: Start daemon at boot time
    # Description:       Enable service provided by daemon.
    ### END INIT INFO
    
    RETVAL=$?
    if [ $RETVAL = 0 ]
    then
        echo "done."
    else
        echo "failed. See error code for more information."
    fi
    return $RETVAL
}

stop () {
    # Stop daemon
    echo -n "Stopping solr..."

    daemon --stop --name=solr  --verbose
    RETVAL=$?

    if [ $RETVAL = 0 ]
    then
        echo "Done."
    else
        echo "Failed. See error code for more information."
    fi
    return $RETVAL
}


restart () {
    daemon --restart --name=solr  --verbose
}


status () {
    # Report on the status of the daemon
    daemon --running --verbose --name=solr
    return $?
}


case "$1" in
    start)
        start
    ;;
    status)
        status
    ;;
    stop)
        stop
    ;;
    restart)
        restart
    ;;
    *)
        echo $"Usage: solr {start|status|stop|restart}"
        exit 3
    ;;
esac

exit $RETVAL</code>
########################## Script End ########################################

8. Add Solr to the Services Config
chkconfig --add solr

9. Reboot your server and test if Solr is running
/etc/init.d/solr start

10. Check if Solr is running
/etc/init.d/solr status
daemon:  solr is running (pid 3698)

11. Now login to your OpenAtrium installation and test if solr is recognized as a running service
domain.tld/admin/reports/status
Solr servers    1 server
The Solr server could be reached.

Enjoy!
 

torstenzenk's picture

Debian - vi .vimrc ignored - change default colors permanently

Debian - vi .vimrc ignored - change default colors permanently

After installing vim-nox i wanted to achieve a better handling of file editing.I have tried changing the default colorscheme in vi by creating a ~./vimrc file with the correct rights and setting

colorscheme delek

in there, but this was constantly being ignored. I have read A LOT of other tips and have tried what they suggested with no luck, so i decided to go the other way and change the file at

/usr/share/vim/vim73/syntax/syncolor.vim

from

SynColor Comment      term=bold cterm=NONE ctermfg=DarkBlue ctermbg=NONE gui=NONE guifg=Blue guibg=NONE

to

SynColor Comment      term=bold cterm=NONE ctermfg=Cyan ctermbg=NONE gui=NONE guifg=#80a0ff guibg=NONE

Pages