Jak zřídit HTTPS na Apache Debian 7 Wheezy pomocí Let’s Encrypt

Instalace SSL certifikátů a zprovoznění HTTPS na Apache Debian 7 (wheezy)

Stáhnout certbot

Spustit certbot-auto

wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto
./certbot-auto
./path/to/certbot-auto --apache


Konkretně pro doménu 2. řádu i se subdoménou www je potřeba explicitně uvést parametr -d

./certbot-auto --apache -d www.web2web.cz -d web2web.cz
 ./certbot-auto --apache -d www.kdb.cz -d kdb.cz -d www.kniznidatabaze.cz -d kniznidatabaze.cz 
 ./certbot-auto --apache -d www.nadivka.cz -d nadivka.cz
 ./certbot-auto --apache -d www.lasagne.cz -d lasagne.cz
 ./certbot-auto --apache -d www.krasnesatky.cz -d krasnesatky.cz

Obnovení se dá parametr renew

./certbot-auto renew --dry-run 
./certbot-auto renew --quiet --no-self-upgrade

WEDOS – Nechodí emaily kvůli Amavis na ISPConfig

Po restartu serveru VPS nechodí emaily

Pokud se používá na WEDOS VPS hostingu ISPConfig, tak po restartu dojde díky chybě v Amavis k zablokování příjmu emailů. Řešením je aktualizace nebo odstranění Amavis z poštovního serveru. Protože se mi nechtěla řešit aktualizace celého serveru, tak jsem se rozhodl Amavis vypnout a celou antispam ochranu přenechat na jiné servery.

 

Zakomentovat  content_filter a receive_override_options v konfiguraci Postfix:

#content_filter = amavis:[127.0.0.1]:10024
#receive_override_options = no_address_mappings

Soubor maincf a master.cf je v /etc/postfix directory.

Zakomentovat referencei na Amavis:#amavis unix – – – – 2 smtp
#        -o smtp_data_done_timeout=1200
#        -o smtp_send_xforward_command=yes

Restartovat Postfix k obnovení konfigurace:

Už se maily nebudou filtrovat.

[root@server postfix]# postfix reload
Obnovení fronty bez Content Filter:

[root@server postfix]# postsuper -r ALL

Ještě by bylo dobré vypnout Amavis při startu serveru, ale to někdy příště, takhle to stačí a emaily se rozjeliy 🙂

VirtualBox – Zvětšení disku

Např. zvětšení na 100GB

VBoxmanage modifyhd MyLinux.vdi --resizebytes 100000000000

Návod je tady: http://derekmolloy.ie/resize-a-virtualbox-disk

Nefunguje –resize parametr, ale –resizebyte ještě ano

Pak je potřeba připojit ISO s GParted a upravit partitions, dost pravděpodobně bude na konci linux-swap, ten smazat a vytvořit po změn velikosti znovu

Linux – Instalace Java + Torquebox + JRuby

Nainstalovat Javu

echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" | tee -a /etc/apt/sources.list
echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" | tee -a /etc/apt/sources.list
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EEA14886
apt-get update
apt-get install oracle-java7-installer

Nainstalovat Torquebox

adduser myuser --home /opt/myuser --disabled-password
wget http://torquebox.org/release/org/torquebox/torquebox-dist/2.3.0/torquebox-dist-2.3.0-bin.zip
unzip -q torquebox-dist-2.3.0-bin.zip -d /opt/myuser/

Nainstalovat PostgreSQL

apt-get install postgresql postgresql-contrib postresql-client
/etc/init.d/postgresql start

Záloha dat z PostgreSQL do dumpu

pg_dump -h 127.0.0.1 -d mydatabase -U myusername > /tmp/mydatabase.sql

Obnova dat z dumpu do PostgreSQL

psql -h 127.0.0.1 -d mydatabase -U myusername -f /tmp/mydatabase.sql -L /tmp/mydatabase.log

 

Gem nokogiri

gem install nokogiri
sudo apt-get install build-essential patch
sudo apt-get install ruby-dev zlib1g-dev liblzma-dev

 

 

Linux – Základní příkazy

  • sudo
    spouštění příkazů se zvýšenými oprávněními

    sudo su
    sudo -i
    sudo bash
  • pwd
    vypíše, ve kterém adresáři se právě nacházíte.
  • cd
    umožní změnit aktuální pracovní adresář
    cd ~/Desktop přesune do adresáře s vaší plochou.
  • cp
    vytvoří kopii zadaného souboru.
    cp dokument kopie udělá přesnou kopii souboru „dokument“ a pojmenuje ho „kopie“
  • mv
    přesune soubor do jiného umístění nebo soubor přejmenuje. Pokud je druhý argument uveden název souboru, soubor se přejmenovává. Pokud je druhý argument uveden název adresáře, soubor se přesouvá.
    mv podzim zima
    mv fotka ~/Desktop 
  • rm
    odstraní zadaný soubor. Nebude fungovat na neprázdných adresářích.
    rm -r smaže rekurzivně všechny soubory i adresáře v daném adresáři a nakonec samotný adresář.
  • ls
    ukáže seznam souborů ve vašem aktuálním adresáři.
    ls -l
  • find
    vyhledává soubory rekurzivně
    find / -iname "*petr*"
  • cat
    vypíše obsah souboru
    cat /etc/samba/smb.conf
  • less
    řízení výstupu, vypíše obsah souboru po stránkách
    cat /etc/samba/smb.conf | less
  • head
    vypíše začátek souboru
    head /etc/samba/smb.conf
  • tail
    vypíše konec souboru
    tail /etc/samba/smb.conf
  • sort
    výpis setříděného souboru, původní soubor je nezměněn.
  • chmod
    změna, nastavení přístupových práv
    chmod 777 nazevsouboru
  • man
    ukáže návod k příkazu.
    man cd ukáže návod pro používání příkazu cd.
  • mkdir
    vytvoří nový adresář zadaného jména.
    mkdir hudba vytvoří adresář hudba v aktuálním adresáři.
  • rmdir
    vymaže adresář. Lze vymazat pouze prázdný adresář.
    např. rm -r smaže rekurzivně všechny soubory i adresáře v daném adresáři a nakonec samotný adresář. 
  • fuser
    zjištění, kdo se souborem pracuje
    fuser jméno_souboru
  • df
    zobrazí využití místa na systému souborů pro všechny oddíly
    df -h
  • free
    ukazuje množství volné a použité paměti v systému.
    free -m
  • top 
    zobrazuje informace o linuxovém systému. Pro skončení příkazu top stiskněte „q“.
  • uname -a
    vypíše všechny informace o systému, včetně jména počítače, jádra, verze, …
  • lsb_release -a
    vypíše informace o vydání Linuxu, který právě používáte
  • ifconfig
    informuje o síťových rozhraních ve vašem systému, v současné době zastaralý, používá se ip.
  • ip address show
    informuje o síťových rozhraních ve vašem systému.
  • iwconfig
    ukáže údaje o bezdrátových zařízeních ve vašem počítači.
  • lsusb
    vypíše informace o připojených USB zařízeních.
  • hostname
    vypíše jméno počítače.
  • ps
    výpis procesů
    ps -A 
  • kill
    ukončení procesu
  • set
    výpis systémových proměnných
    set | less
  • echo
    vypíše konkrétní systémovou proměnnou. Název proměnné musí začínat $
    echo $USERNAME
  • export
    vytvoření nebo úprava systémové proměnné.

1 Geniální myšlenka – unikátní obchodní nápad

Jestli hledáte unikátní obchodní myšlenku, která vám ze dne na den začne sypat miliony, tak si ušetřete čas – na internetu ji nenajdete. Proč? Jednoduše proto, že pokud by byla myšlenka unikátní a byla předhozena plebsu (rozuměj obyčejným lidem) již by unikátní nebyla a náskok před konkurencí by byl ten tam.

Pokud nevíte v čem podnikat a neustále hledáte něco unikátního, tak vězte, že na takový nápad za milion můžete čekat třeba do sta let:)

1 rada k nezaplacení

Dělejte to v čem jste dobří! Pokud si myslíte, že nejste dobří, tak dělejte to co funguje ostatním a třeba se po čase stanete dobrými a možná i nejlepšími a pokud se nestanete dobrými, tak se na to vykašlete a začněte s něčím dalším. A pokud ani to další nevyjde, tak neházejte flintu do žita a smiřte se s tím, že na to prostě nemáte 🙂

 

SQL: Hledání textu přes všechny pole všech tabulek v databázi

Jednoduchý způsob, když hledáte text v databázi a nevíte v které tabulce a sloupci se nachází.

declare @SearchStr nvarchar(100)
set  @SearchStr = 'Sem zadejte hledaný text ...'

	CREATE TABLE #Results (ColumnName nvarchar(370), ColumnValue nvarchar(3630))

	SET NOCOUNT ON

	DECLARE @TableName nvarchar(256), @ColumnName nvarchar(128), @SearchStr2 nvarchar(110)
	SET  @TableName = ''
	SET @SearchStr2 = QUOTENAME('%' + @SearchStr + '%','''')

	WHILE @TableName IS NOT NULL
	BEGIN
		SET @ColumnName = ''
		SET @TableName = 
		(
			SELECT MIN(QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME))
			FROM 	INFORMATION_SCHEMA.TABLES
			WHERE 		TABLE_TYPE = 'BASE TABLE'
				AND	QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME) > @TableName
				AND	OBJECTPROPERTY(
						OBJECT_ID(
							QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME)
							 ), 'IsMSShipped'
						       ) = 0
		)

		WHILE (@TableName IS NOT NULL) AND (@ColumnName IS NOT NULL)
		BEGIN
			SET @ColumnName =
			(
				SELECT MIN(QUOTENAME(COLUMN_NAME))
				FROM 	INFORMATION_SCHEMA.COLUMNS
				WHERE 		TABLE_SCHEMA	= PARSENAME(@TableName, 2)
					AND	TABLE_NAME	= PARSENAME(@TableName, 1)
					AND	DATA_TYPE IN ('char', 'varchar', 'nchar', 'nvarchar')
					AND	QUOTENAME(COLUMN_NAME) > @ColumnName
			)

			IF @ColumnName IS NOT NULL
			BEGIN
				INSERT INTO #Results
				EXEC
				(
					'SELECT ''' + @TableName + '.' + @ColumnName + ''', LEFT(' + @ColumnName + ', 3630) 
					FROM ' + @TableName + ' (NOLOCK) ' +
					' WHERE ' + @ColumnName + ' LIKE ' + @SearchStr2
				)
			END
		END	
	END

	SELECT ColumnName, ColumnValue FROM #Results

Otřesné chování – www.onlinehosting.cz a změna k lepšímu

Zkušenosti posledních dní mě donutily k přemýšlení nad hledáním úspor i v tak banálních věcech jako je webhosting.

Dlouhá léta jsem byl klientem http://www.onlinehosting.cz nicméně, to co si dovolují v poslední době mě pěkně nadzvedlo ze židle – komunikace 0, cena MAX.

Hřebíčkem do rakve bylo zjištění, že mi poslali zálohovou fakturu na další období a zjištění,že novým zákazníkům nabízí rok webhostingu zdarma a na mě na dlouholetého zákazníka z vysoka kálí.

Vtipným závěrem byla cena za prodloužení domény s cenou 306 Kč. U jiných poskytovatelů stojí 150 Kč a někde možná i méně.

Takže jsem se rozhodl změnit lokál a zatím si nemůžu na nic stěžovat. Stejné parametry hostingu, výborná komunikace a hlavně 12x nižší cena.

ANO, za hosting nyní platím příjemných 200 Kč/rok, což se s předchozími 200Kč/měsíc nedá srovnávat.

A u koho, že jsem? Malý neznámý hosting http://www.webprostor.eu