Create a template service file at /etc/systemd/system/[email protected]
. The template parameter will correspond to the name
of target host:
[Unit]
Description=Setup a secure tunnel to %I
After=network.target
Create a template service file at /etc/systemd/system/[email protected]
. The template parameter will correspond to the name
of target host:
[Unit]
Description=Setup a secure tunnel to %I
After=network.target
This document details how I setup LE on my server. Firstly, install the client as described on http://letsencrypt.readthedocs.org/en/latest/using.html and make sure you can execute it. I put it in /root/letsencrypt
.
As it is not possible to change the ports used for the standalone
authenticator and I already have a nginx running on port 80/443, I opted to use the webroot
method for each of my domains (note that LE does not issue wildcard certificates by design, so you probably want to get a cert for www.example.com
and example.com
).
For this, I placed config files into etc/letsencrypt/configs
, named after <domain>.conf
. The files are simple:
I hereby claim:
To claim this, I am signing this object:
This guide sets up a non-clustered Nutch crawler, which stores its data via HBase. We will not learn how to setup Hadoop et al., but just the bare minimum to crawl and index websites on a single machine.
This interface provides the ability to increment and decrement cache entries by their specified value. Some cache backends support this natively so that you don't have to read the item and then increment it and write it back to the cache server, this can be done in a single call to the cache server since it's natively supported by many modern cache servers.
0
yields
-1
) by any [positive?] integer.false
.<?php | |
/* | |
* Dieses Script dient als "Proxy" zwischen Bitbucket und Packagist. Es empfängt | |
* einen POST-Request über den generischen POST-Service von Bitbucket und leitet | |
* diesen als PUT-Request an Packagist weiter, um das dazugehörige Paket zu | |
* aktualisieren. | |
*/ | |
function clean($var) { | |
return get_magic_quotes_gpc() ? stripslashes($var) : $var; |
<?php | |
use Doctrine\Common\DataFixtures\Loader; | |
use Doctrine\Common\DataFixtures\Purger\ORMPurger; | |
use Doctrine\Common\DataFixtures\Executor\ORMExecutor; | |
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase as SfWebTestCase; | |
use Project\DummyBundle\DataFixtures\ORM\MyFixture; | |
abstract class WebTestCase extends SfWebTestCase { | |
public function setUp() { |
<?php | |
/* | |
* Copyright (c) 2012, webvariants GbR, http://www.webvariants.de | |
* | |
* This file is released under the terms of the MIT license. You can find the | |
* complete text in the attached LICENSE file or online at: | |
* | |
* http://www.opensource.org/licenses/mit-license.php | |
*/ |
Konkret ist der Content-Controller vom Sally-Backend problematisch. Er verlässt sich u.a. darauf, dass der nette Sally-Dispatcher seine Exceptions fängt. Das führt allerdings auch dazu, dass anstatt der "Inhalt"-Überschrift die "Unterwartete Exception"-Meldung auftaucht. Was nicht wirklich stimmt, da einige der Exceptions bewusst vom Controller geworfen werden (also nicht unerwartet sind).
Gleichzeitig taucht in vielen Controllern immer wieder das Muster auf, dass eine allgemeine init()
-Methode angelegt wird, die von jeder Action als erstes aufgerufen wird. Teils ist die Methode so komplex, dass sie a) nicht mehrmals aufgerufen werden darf und b) die Ausführung der eigentlichen Action stoppen kann.
<?php | |
/** | |
* Wolfram|Alpha password strength calculation | |
* | |
* @see https://gist.github.com/1514997 (original source this class is based on) | |
* @see http://www.wolframalpha.com/input/?i=password+strength+for+god | |
* @see https://github.com/rchouinard/phpass | |
* @license MIT | |
*/ |