Nejčastější otázky k provozu serveru: Porovnání verzí

Z ZděchovNET
Skočit na navigaci Skočit na vyhledávání
(Založena nová stránka: Většina otázek a odpovědí je platná pro virtualizovaný systém pomocí technologie OpenVZ a operační systém Fedora. =Jak změním časové pásmo?= Pokud přík…)
 
 
(Není zobrazeno 28 mezilehlých verzí od stejného uživatele.)
Řádek 1: Řádek 1:
Většina otázek a odpovědí je platná pro virtualizovaný systém pomocí technologie OpenVZ a operační systém Fedora.
Většina otázek a odpovědí je platná pro virtualizovaný systém pomocí technologie OpenVZ a operační systém Fedora.


=Nastavení časového pásma=
=Jak změním časové pásmo?=


'''Otázka:''' Jak změním časové pásmo?
Pokud příkaz date ukazuje chybně čas, bude pravděpodobně na vině u virtualizovaného serveru nesprávné nastavení časového pásma. Evropské časové pásmo platné pro Českou republiku nastavíte pomocí:


'''Odpověď:''' Pokud příkaz date ukazuje chybně čas, bude pravděpodobně na vině u virtualizovaného serveru nesprávné nastavení časového pásma. Evropské časové pásmo platné pro Českou republiku nastavíte pomocí:
<pre>ln -sf /usr/share/zoneinfo/Europe/Prague /etc/localtime</pre>


<source lang="bash">ln -sf /usr/share/zoneinfo/Europe/Prague /etc/localtime</source>
=Jak nastavím češtinu na serveru?=



Češtinu lze nastavit v souboru /etc/sysconfig/i18n. První řádek změňte na:
=Nastavení češtiny v systému=

'''Otázka:''' Jak nastavím češtinu na serveru?

'''Odpověď:''' Češtinu lze nastavit v souboru /etc/sysconfig/i18n. První řádek změňte na:
<pre>LANG="cs_CZ.UTF-8"</pre>
<pre>LANG="cs_CZ.UTF-8"</pre>


=Po přihlášení se mi vypisuje hlášení: -bash: warning: setlocale: LC_CTYPE: cannot change locale (en_US.UTF-8)=


=Oprava chybného nastavení locale=
Je potřeba nastavit správně jazykové soubory pomocí


'''Otázka:''' Po přihlášení se mi vypisuje hlášení: -bash: warning: setlocale: LC_CTYPE: cannot change locale (en_US.UTF-8)
pro angličtinu: <pre>localedef -i en_US -f UTF-8 en_US</pre>
pro češtinu: <pre>localedef -i cs_CZ -f UTF-8 cs_CZ</pre>


'''Odpověď:''' Je potřeba nastavit správně jazykové soubory pomocí
=Jak zajistím, aby se mi při startu spouštěly požadované služby?</pre>


pro angličtinu: <source lang="bash">localedef -i en_US -f UTF-8 en_US</source>
Toto se jednoduše provádí pomocí příkazu chkconfig.
pro češtinu: <source lang="bash">localedef -i cs_CZ -f UTF-8 cs_CZ</source>

Pokud se nepodaří locale vynutit a příkaz <source lang="bash">locale</source> nevypisuje správný jazyk, je možné nastavit locale na ubuntu v souboru '''/etc/environment''' a připsat zde na konec:
<pre>LANG="cs_CZ.UTF-8"
LANGUAGE="cs_CZ"</pre>

Pro Ubuntu také:
<source lang="bash">locale-gen cs_CZ.UTF-8</source>

Více locale lze na Ubuntu vybrat také přes:
<source lang="bash">sudo dpkg-reconfigure locales</source>

=Start aplikaci při spuštění počítače=

'''Otázka:''' Jak zajistím, aby se mi při startu spouštěly požadované služby?

'''Odpověď:''' Toto se jednoduše provádí pomocí příkazu chkconfig.
Např. automatický start mysql serveru zajistíte pomocí:
Např. automatický start mysql serveru zajistíte pomocí:
<pre>chkconfig mysqld on</pre>
Fedora/Centos: <source lang="bash">chkconfig mysqld on</source>
Ubuntu/Debian: <source lang="bash">update-rc.d mysql enable</source>


Výpis stavu startu služeb vypíšete pomocí:
Výpis stavu startu služeb vypíšete pomocí:
<pre>chkconfig</pre>
Fedora/Centos: <source lang="bash">chkconfig</source>
Ubuntu/Debian: <source lang="bash">sysv-rc-conf</source>


Samotné služby lze ovládat buď pomocí příkazu '''service <služba> <povel>''' nebo pomocí '''/etc/init.d/<služba> <povel>'''.
Samotné služby lze ovládat buď pomocí příkazu '''service <služba> <povel>''' nebo pomocí '''/etc/init.d/<služba> <povel>'''.


Pokud chcete spouštět vlastní programy při startu systému, můžete vložit odkaz na ně do souboru '''/etc/rc.d/rc.local'''. Tyto příkazy se pak provedou po dokončení inicializace služeb. Přitom programy, které chcete, aby stále běželi tak spouštějte jako démony na pozadí nejčastěji pomocí příkazu '''screen'''.
=Jak zaktualizovat operační systém?=



Na Fedoře lze toto provést pomocí příkazu:
=Aktualizace OS=
<pre>yum update</pre>

'''Otázka:''' Jak lze zaktualizovat operační systém?

'''Odpověď:''' Na Fedoře lze toto provést pomocí příkazu:
<source lang="bash">yum update</source>


* Po dokončení aktualizace může být potřeba překompilovat některé vlastní programy sestavované přímo ze zdrojových souborů.
* Po dokončení aktualizace může být potřeba překompilovat některé vlastní programy sestavované přímo ze zdrojových souborů.
* Dále pokud se provádí aktualizace mysql serveru, je vhodné provést aktualizaci databází mysql pomocí příkazu:
* Dále pokud se provádí aktualizace mysql serveru, je vhodné provést aktualizaci databází mysql pomocí příkazu:
<pre>mysql-upgrade --user=root --password</pre>
<source lang="bash">mysql-upgrade --user=root --password</source>


=Zatížení systému=

'''Otázka:''' Jak zjistím stav zatížení systému?

'''Odpověď:''' Zatížení procesoru a využití paměti zjistíte pomocí příkazu top a free. Dále můžete přes yum install doinstalovat pokročilejší varianty atop, htop.
Využití kapacity disku zjistíte přes příkaz <source lang="bash">df -h</source>


=Použití grafické vzdálené plochy=

'''Otázka:''' Lze používat na serveru i grafickou vzdálenou plochu?

'''Odpověď:''' Ano, více informací pokračujte zde: [[Vzdálená plocha]]


=Zabezpečení server=

'''Otázka:''' Někdo se mi dostal do serveru. Jak zvýšit zabezpečení?

'''Odpověď:''' Více informací naleznete zde: [[Zabezpečení serveru]].


=Uvolnění místa na disku=

'''Otázka:''' Mám nedostatek místa na disku. Jak zjistím, které adresáře zabírají nejvíce?

'''Odpověď:''' Můžete spustit povel du (disku usage) ve složce / a pak jednotlivých podsložkách. To vám vypíše adresáře s největší velikosti:

<source lang="bash">du -sm * | sort -nr | head -10</source>

Volné místo na disku pak lze klasicky vypsat pomocí příkazu df (disk free). Přidáním parametru -h (human) se zobrazí údaje o velikosti v lidsky čitelném formátu.

* Dále je také možné zjistit místo zabrané složkami pomocí mc (Midnight commanderu). Vejděte do některé složky a buď nastavte pozici na danou složku a pak se zobrazí vyvoláním menu '''Příkaz - Ukázat velikosti adresářů''' místo zabrané touto složkou nebo nastavte pozici na složku '''..''' a pak se spočítá místo obsazené všemi složkami v dané složce.


=Nastavení odesílání pošty=

'''Otázka:''' Neodesílají se mi ze serveru email. V čem může být problém?

'''Odpověď:''' Komunikace směřovaná ven ze sítě na portu SMTP(25) je blokována kvůli spamu. Poštovní komunikaci je potřeba směrovat přes SMTP servery '''smtp.zdechov.net''' či '''smtp.inext.cz'''.

Informace o nastavení SMTP na Linuxu najdete zde [[Nastavení SMTP]].

=Nastavení brány firewallu=

Vhodný návod je např. [http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch14_:_Linux_Firewalls_Using_iptables zde]

=Zobrazení síťových spojení=

Pokud chcete zobrazit všechny síťová připojení a podívat se kdo je k serveru připojen na kterém portu nebo pokud chcete zjistit, které služby naslouchají na kterém portu, tak použijte povel:

<source lang="bash">lsof -i</source>

=Export a import souborů do databáze=

Import dat ze souboru do databáze:
<source lang="bash">mysql --user=root --password database < soubor.sql</source>
Export dat z databáze do souboru:
<source lang="bash">mysqldump --user=root --password database > soubor.sql</source>

=Resetování hesla roota mysql serveru=

* Ukončete server pomocí:
<source lang="bash">/etc/init.d/mysqld stop</source>

* Spusťte server ručně pomocí
<source lang="bash">mysqld_safe --skip-grant-tables</source>

* Přes jiný terminál spusťte na serveru příkaz
<source lang="bash">mysql</source>

* Nastavte nové heslo roota:
<source lang="sql">UPDATE mysql.user SET Password=PASSWORD('MojeNoveHeslo') WHERE User='root';
FLUSH PRIVILEGES;</source>

* Ukončete pomoc CTRL+C dříve spuštěný mysql server a nastartuje službu standardně.
<source lang="bash">/etc/init.d/mysqld start</source>

=Rychlý přesun MySQL databáze přes příkazový řádek=

Místo názvu ''database'' si doplňte vlastní název databáze, kterou přesouváte.

'''Server A:'''

<source lang="bash">mysqldump --user=root --password database > database.sql
tar -zc database.sql > database.tgz
scp database.tgz root@serverb:/root</source>

'''Server B:'''

<source lang="bash">
cd /root
tar -zxvf database.tgz
mysql --user=root --password database < database.sql</source>

=Problém s klíčem apt-get na debianu=

Hlášení při instalaci balíčků vypadá nějak takto:
<pre>W: GPG error: http://ftp.debian.org lenny Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY AED4B06F473041FA
W: You may want to run apt-get update to correct these problems</pre>

Zkopírujeme druhou půlku svého klíče a doplníme jej místo kódu v následujícím řádku:
<source lang="bash">gpg --keyserver subkeys.pgp.net --recv-keys 473041FA</source>
<source lang="bash">gpg -a --export 473041FA | apt-key add -</source>

Následně již apt-get update nevypisuje chybu.

Více informací viz. [http://wiki.debian.org/SecureApt#How_to_find_a_key All about secure apt - How to find a key]

=Ruční vytvoření disku dočasných souborů uvnitř kontejneru=

<source lang="bash">mount -t tmpfs -o size=300m tmpfs /nejaka/slozka</source>

[[Kategorie:Linux]]
[[Kategorie:Hosting]]

Aktuální verze z 22. 2. 2021, 22:43

Většina otázek a odpovědí je platná pro virtualizovaný systém pomocí technologie OpenVZ a operační systém Fedora.

Nastavení časového pásma

Otázka: Jak změním časové pásmo?

Odpověď: Pokud příkaz date ukazuje chybně čas, bude pravděpodobně na vině u virtualizovaného serveru nesprávné nastavení časového pásma. Evropské časové pásmo platné pro Českou republiku nastavíte pomocí:

ln -sf /usr/share/zoneinfo/Europe/Prague /etc/localtime


Nastavení češtiny v systému

Otázka: Jak nastavím češtinu na serveru?

Odpověď: Češtinu lze nastavit v souboru /etc/sysconfig/i18n. První řádek změňte na:

LANG="cs_CZ.UTF-8"


Oprava chybného nastavení locale

Otázka: Po přihlášení se mi vypisuje hlášení: -bash: warning: setlocale: LC_CTYPE: cannot change locale (en_US.UTF-8)

Odpověď: Je potřeba nastavit správně jazykové soubory pomocí

pro angličtinu:

localedef -i en_US -f UTF-8 en_US

pro češtinu:

localedef -i cs_CZ -f UTF-8 cs_CZ

Pokud se nepodaří locale vynutit a příkaz

locale

nevypisuje správný jazyk, je možné nastavit locale na ubuntu v souboru /etc/environment a připsat zde na konec:

LANG="cs_CZ.UTF-8"
LANGUAGE="cs_CZ"

Pro Ubuntu také:

locale-gen cs_CZ.UTF-8

Více locale lze na Ubuntu vybrat také přes:

sudo dpkg-reconfigure locales

Start aplikaci při spuštění počítače

Otázka: Jak zajistím, aby se mi při startu spouštěly požadované služby?

Odpověď: Toto se jednoduše provádí pomocí příkazu chkconfig. Např. automatický start mysql serveru zajistíte pomocí:

Fedora/Centos:

chkconfig mysqld on

Ubuntu/Debian:

update-rc.d mysql enable

Výpis stavu startu služeb vypíšete pomocí:

Fedora/Centos:

chkconfig

Ubuntu/Debian:

sysv-rc-conf

Samotné služby lze ovládat buď pomocí příkazu service <služba> <povel> nebo pomocí /etc/init.d/<služba> <povel>.

Pokud chcete spouštět vlastní programy při startu systému, můžete vložit odkaz na ně do souboru /etc/rc.d/rc.local. Tyto příkazy se pak provedou po dokončení inicializace služeb. Přitom programy, které chcete, aby stále běželi tak spouštějte jako démony na pozadí nejčastěji pomocí příkazu screen.


Aktualizace OS

Otázka: Jak lze zaktualizovat operační systém?

Odpověď: Na Fedoře lze toto provést pomocí příkazu:

yum update
  • Po dokončení aktualizace může být potřeba překompilovat některé vlastní programy sestavované přímo ze zdrojových souborů.
  • Dále pokud se provádí aktualizace mysql serveru, je vhodné provést aktualizaci databází mysql pomocí příkazu:
mysql-upgrade --user=root --password


Zatížení systému

Otázka: Jak zjistím stav zatížení systému?

Odpověď: Zatížení procesoru a využití paměti zjistíte pomocí příkazu top a free. Dále můžete přes yum install doinstalovat pokročilejší varianty atop, htop.

Využití kapacity disku zjistíte přes příkaz

df -h


Použití grafické vzdálené plochy

Otázka: Lze používat na serveru i grafickou vzdálenou plochu?

Odpověď: Ano, více informací pokračujte zde: Vzdálená plocha


Zabezpečení server

Otázka: Někdo se mi dostal do serveru. Jak zvýšit zabezpečení?

Odpověď: Více informací naleznete zde: Zabezpečení serveru.


Uvolnění místa na disku

Otázka: Mám nedostatek místa na disku. Jak zjistím, které adresáře zabírají nejvíce?

Odpověď: Můžete spustit povel du (disku usage) ve složce / a pak jednotlivých podsložkách. To vám vypíše adresáře s největší velikosti:

du -sm * | sort -nr | head -10

Volné místo na disku pak lze klasicky vypsat pomocí příkazu df (disk free). Přidáním parametru -h (human) se zobrazí údaje o velikosti v lidsky čitelném formátu.

  • Dále je také možné zjistit místo zabrané složkami pomocí mc (Midnight commanderu). Vejděte do některé složky a buď nastavte pozici na danou složku a pak se zobrazí vyvoláním menu Příkaz - Ukázat velikosti adresářů místo zabrané touto složkou nebo nastavte pozici na složku .. a pak se spočítá místo obsazené všemi složkami v dané složce.


Nastavení odesílání pošty

Otázka: Neodesílají se mi ze serveru email. V čem může být problém?

Odpověď: Komunikace směřovaná ven ze sítě na portu SMTP(25) je blokována kvůli spamu. Poštovní komunikaci je potřeba směrovat přes SMTP servery smtp.zdechov.net či smtp.inext.cz.

Informace o nastavení SMTP na Linuxu najdete zde Nastavení SMTP.

Nastavení brány firewallu

Vhodný návod je např. zde

Zobrazení síťových spojení

Pokud chcete zobrazit všechny síťová připojení a podívat se kdo je k serveru připojen na kterém portu nebo pokud chcete zjistit, které služby naslouchají na kterém portu, tak použijte povel:

lsof -i

Export a import souborů do databáze

Import dat ze souboru do databáze:

mysql --user=root --password database < soubor.sql

Export dat z databáze do souboru:

mysqldump --user=root --password database > soubor.sql

Resetování hesla roota mysql serveru

  • Ukončete server pomocí:
/etc/init.d/mysqld stop
  • Spusťte server ručně pomocí
mysqld_safe --skip-grant-tables
  • Přes jiný terminál spusťte na serveru příkaz
mysql
  • Nastavte nové heslo roota:
UPDATE mysql.user SET Password=PASSWORD('MojeNoveHeslo') WHERE User='root';
FLUSH PRIVILEGES;
  • Ukončete pomoc CTRL+C dříve spuštěný mysql server a nastartuje službu standardně.
/etc/init.d/mysqld start

Rychlý přesun MySQL databáze přes příkazový řádek

Místo názvu database si doplňte vlastní název databáze, kterou přesouváte.

Server A:

mysqldump --user=root --password database > database.sql 
tar -zc database.sql > database.tgz
scp database.tgz root@serverb:/root

Server B:

cd /root
tar -zxvf database.tgz
mysql --user=root --password database < database.sql

Problém s klíčem apt-get na debianu

Hlášení při instalaci balíčků vypadá nějak takto:

W: GPG error: http://ftp.debian.org lenny Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY AED4B06F473041FA
W: You may want to run apt-get update to correct these problems

Zkopírujeme druhou půlku svého klíče a doplníme jej místo kódu v následujícím řádku:

gpg --keyserver subkeys.pgp.net --recv-keys 473041FA
gpg -a --export 473041FA | apt-key add -

Následně již apt-get update nevypisuje chybu.

Více informací viz. All about secure apt - How to find a key

Ruční vytvoření disku dočasných souborů uvnitř kontejneru

mount -t tmpfs -o size=300m tmpfs /nejaka/slozka