Kategorie: RedHat

[rpm] nginx-rpm mit pagespeed bauen

sudo -s
yum install rpm-build
cd
wget http://nginx.org/packages/centos/6/SRPMS/nginx-1.6.1-1.el6.ngx.src.rpm
rpm -i nginx-1.6.1-1.el6.ngx.src.rpm
NPS_VERSION=1.8.31.4
wget https://github.com/pagespeed/ngx_pagespeed/archive/release-${NPS_VERSION}-beta.zip
unzip release-${NPS_VERSION}-beta.zip
cd ngx_pagespeed-release-${NPS_VERSION}-beta/
wget https://dl.google.com/dl/page-speed/psol/${NPS_VERSION}.tar.gz
tar -xzvf ${NPS_VERSION}.tar.gz
cd rpmbuild/SPECS/
vim nginx.spec

–add-module=/root/ngx_pagespeed-release-1.8.31.4-beta in den beide configure-blöcken hinzufügen.

rpmbuild -ba nginx.spec

fertiges rpm landet in /root/rpmbuild/RPMS/x86_64/

hilfreiche Quellen f. obigen Workflow:
https://developers.google.com/speed/pagespeed/module/build_ngx_pagespeed_from_source und
http://wiki.centos.org/HowTos/SetupRpmBuildEnvironment

[vagrant] centos 7 box

Da ich im Netz keine gefunden habe.
Hier gibts jetzt eine.

[rpm] Liste installierter Packete OHNE Versionsnummer

rpm -qa zum erzeugen einer Liste der installierten Packete eines RPM-basierten Linux-Systemes ist gut und schön um die Liste zwischen Maschinen mit der selben Distributions-Version zu übertragen (centos 6.5 -> centos 6.5).

Das funktioniert aber im allgemeinen nicht wenn es unterschiedliche Versionen sind (z.B. centos 6.5 -> centos 7).

Hier hilft das -f Flag des rpm-Kommandos weiter. Damit lässt sich die Ausgabe anpassen und beispielsweise nur der Packetname ausgeben.

rpm -qa --qf "%{NAME}\n" > rpm.lst

Die so erzeugte Liste lässt sich dann z.B. wie folgt am Zielsystem einspielen um einen mehr oder weniger brauchbaren Softwarestand zu kriegen (da nicht immer alle Packete auch am neuen System verfügbar sind ist manchmal/immer Nacharbeit nötig)

Postfix: alle mails kriegen

Manchmal machts (vorallem auf Entwicklungsservern) Sinn alle ausgehenden Mails unabhängig von der Empfängeradresse an einen Empfänger zuzustellen.

Postfix macht einem sowas recht einfach.

Nehmen wir an wir wollen alles an catchall@mydomain.invalid zustellen.

Als erstes tragen folgendes in die /etc/postfix/main.cf ein


always_bcc=catchall@mydomain.invalid
transport_maps = hash:/etc/postfix/transport

Damit werden schon mal alle Mails als bcc an catchall@mydomain.invalid gesendet.

Als 2. Schritt konfigurieren wir die Transport-Table (/etc/postfix/transport) so daß nur an diese Adresse zugestellt wird.


catchall@mydomain.invalid :
* discard:silently

Die erste Zeile bewirkt daß Mails an catchall@mydomain.invalid „normal“ zugestellt werden.
Die 2 Zeile verwirft Mails an alle anderen Empfänger.

Anfrage