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

Z ZděchovNET
Skočit na navigaci Skočit na vyhledávání
Bez shrnutí editace
 
(Není zobrazeno 27 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?=


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

'''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>




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


'''Otázka:''' Po přihlášení se mi vypisuje hlášení: -bash: warning: setlocale: LC_CTYPE: cannot change locale (en_US.UTF-8)
Je potřeba nastavit správně jazykové soubory pomocí


'''Odpověď:''' Je potřeba nastavit správně jazykové soubory pomocí
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>


pro angličtinu: <source lang="bash">localedef -i en_US -f UTF-8 en_US</source>
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:
=Jak zajistím, aby se mi při startu spouštěly požadované služby?=
<pre>LANG="cs_CZ.UTF-8"
LANGUAGE="cs_CZ"</pre>


Pro Ubuntu také:
Toto se jednoduše provádí pomocí příkazu chkconfig.
<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'''.
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?=


=Aktualizace OS=
Na Fedoře lze toto provést pomocí příkazu:

<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