Vyhledávání textu a souborů v terminále

Pokud pracujete s operačním systémem Linux, tak jistě čas od času budete potřebovat vyhledávat přímo v terminále/příkazové řádce soubory či konkrétní text. Níže uvádím základní příklady, které můžete použít.

Fulltextové vyhledávání

Pokud chcete vyhledat určitý text obsažený v souborech, můžete použít příkaz grep. Když budu chtít ve složce najít např. které soubory obsahují text mysql_connect a v jakém konkrétním znění, mohu použít:

grep -Ri "mysql_connect" ./

Hledání souboru

Pro vyhledání konkrétního souboru lze použít příkaz find. Pokud chci např. v dané složce vyhledat všechny konfigurační soubory, použiji:

find ./ -iname "*.conf

Publikováno 30.1.2014 v 07:54 | Kategorie: Linux

SSL a přesměrování požadavků v Debianu

Pro zprovoznění nedůvěryhodného certifikátu v linuxové distribuci Debian stačí postupovat jednoduše takto:

aptitude install openssl
mkdir -p /etc/ssl/localcerts
openssl req -new -x509 -days 365 -nodes -out /etc/ssl/localcerts/apache.pem -keyout /etc/ssl/localcerts/apache.key
chmod 600 /etc/ssl/localcerts/apache*
a2enmod ssl

Vytvoření virtualhosta

Pak už jen stačí vytvořit virtualhosta pro náš web, který bude využívat SSL certifikát:

<VirtualHost *:80>

        ServerName domena.koncovka
        ServerAlias *.domena.koncovka
        ServerAdmin email@domena.koncovka
        DocumentRoot /var/www/html/domena.koncovka
<Directory /var/www/html/domena.koncovka>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        Allow from all
        Require all granted
        </Directory>
        RewriteEngine on
        ReWriteCond %{SERVER_PORT} !^443$
        RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R,L]
        </VirtualHost>

<VirtualHost *:443>

        SSLEngine On
        SSLCertificateFile /etc/ssl/localcerts/apache.pem
        SSLCertificateKeyFile /etc/ssl/localcerts/apache.key

        ServerName domena.koncovka
        ServerAlias *.domena.koncovka
        ServerAdmin email@domena.koncovka
        DocumentRoot /var/www/html/domena.koncovka
<Directory /var/www/html/domena.koncovka>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        Allow from all
        Require all granted
        </Directory>
        </VirtualHost>

Po restartu Apache by měl být již certifikát dostupný po zadání https://domain.tld do prohlížeče:

service apache restart

Přesměrování požadavků

Výše uvedená část s tímto kódem:

<IfModule mod_rewrite.c>
RewriteEngine on
ReWriteCond %{SERVER_PORT} !^443$
RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R,L]
</IfModule>

Zajišťuje přesměrování všech http požadavků na https požadavky.

Povolení mod_rewrite a mod_ssl

Jestliže nemáme povolený rewrite a ssl na serveru, lze to povolit takto:

a2enmod ssl
a2enmod rewrite

Publikováno 12.1.2014 v 13:45 | Kategorie: Debian

Bash skript pro smazání webu v Debianu

V minulém příspěvku jsem psal o skriptu, který jsem si vytvořil pro vytváření webu v linuxové distribuci Debian GNU/Linux. Nyní jsem si napsal zase naprosto primitivní skript pro jeho mazání.

#!/bin/bash
 
#definovani promenne
read -p "Zadej domenu, kterou chces smazat: " delhost
 
#smazani virtualhosta
rm /etc/apache2/sites-available/$delhost.conf
rm /etc/apache2/sites-enabled/$delhost.conf
 
#smazani dat
rm -rf /var/www/html/$delhost
 
#pripadne smazani v /etc/hosts
#sed -i_bak -e "/$delhost/d" /etc/hosts

Pokud chci smazat web, který sloužil jen pro zobrazování directory listings, používám skript, kde již nemažu obsah adresáře.

#!/bin/bash
 
#definovani promenne
read -p "Zadej domenu, kterou chces smazat: " delhost
 
#smazani virtualhosta
rm /etc/apache2/sites-available/$delhost.conf
rm /etc/apache2/sites-enabled/$delhost.conf
 
#pripadne smazani v /etc/hosts
#sed -i_bak -e "/$delhost/d" /etc/hosts

Publikováno 10.1.2014 v 19:11 | Kategorie: Debian