diff options
Diffstat (limited to 'maintenance.html')
| -rw-r--r-- | maintenance.html | 125 |
1 files changed, 0 insertions, 125 deletions
diff --git a/maintenance.html b/maintenance.html deleted file mode 100644 index 328f0a8..0000000 --- a/maintenance.html +++ /dev/null @@ -1,125 +0,0 @@ -<!DOCTYPE html> -<html lang=en> - <head> - <title>Maintaining a Server – LandChad.net</title> - <meta charset="utf-8"/> - <link rel="shortcut icon" href="favicon.ico" type="image/x-icon" /> - <link rel='stylesheet' type='text/css' href='style.css'> - <meta name="viewport" content="width=device-width, initial-scale=1"> - <link rel='alternate' type='application/rss+xml' title='Land Chad RSS' href='/rss.xml'> - </head> -<body> - <header><h1>Maintaining a Server</h1></header> - <nav></nav> - <main> - - <p>Here are some important topics you should be familiar with whenever you are managing a server.</p> - <h2 id="update">Keep packages up to date.</h2> - <p>All GNU/Linux distributions use package managers to easily be able to install and update packages without manually downloading them. - On Debian, which we use here for these tutorial the package manager is <code>apt-get</code> or <code>apt</code> for short. - </p> - - <p> - It's a good idea to use <code>apt</code> to keep your software reasonably up to date. - </p> - - <pre><code>apt update -apt upgrade</code></pre> - - <p> - Not only do up-to-date packages often come with more features, but they can also fix any possible security bugs. - </p> - - <h2>Troubleshooting general problems</h2> - <p> - Often when you are installing something new, you might miss a step and run into an error, so it's important to know how to check and see what errors have happened on your computer. - </p> - <p>On Debian and other GNU/Linux distributions that use systemd (most of them), you can use the command <code>journalctl</code> to look at the system's general log. - You will probably want to run <code>journalctl -xe</code> as the <code>-x</code> and <code>-e</code> as that gives the most information and starts you at the bottom of the log to see the most recent errors. - </p> - <p> - Some programs do not use this system log, but have their own logs stored in <code>/var/log/</code>, or sometimes it's more convenient to look at a specific program's log to see only its issues. - </p> - - <p>For example, we can see that in <code>/var/log/nginx/</code>, nginx produces both <code>error</code> and <code>access</code> files. - The <code>access</code> files show you all the times people connect to files on your server and much more. - We can look at the most recent errors by running: - </p> - - <pre><code>tail -n 25 /var/log/nginx/error.log</code></pre> - - <p> - The command <code>tail -n 25</code> means "show me the last 25 lines of this file." - You can replace that with <code>less</code> to browse the whole file. - In <code>less</code>, navigate with arrows or vim-keys and exit with <code>q</code>. - </p> - - <h3>systemctl</h3> - - <p> - Another tool on systemd distributions is <code>systemctl</code>. - At a basic level, use <code>systemctl status put-service-name-here</code> - to see if a system service is running and its most recent log. - But there's much more to <code>systemctl</code>. - </p> - - <p> - For example, you can run <code>systemctl stop nginx</code> to stop NginX and <code>systemctl start nginx</code> to start it back up (or use <code>restart</code> for both). - When you make changes to a program's configuration files, <code>reload</code> well make them reload them. - If you no longer want a service to start when the system is rebooted, use <code>disable</code>, or conversely, to make a service start on reboot use <code>enable</code>. - </p> - - <h2>Finding Files</h2> - - <p> - Especially if you're new to how a GNU/Linux system is arranged, you might need help finding files. - To find program-related files, you can just use <code>whereis</code>: - </p> - <pre><code>$ whereis nginx -nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx /usr/share/man/man8/nginx.8.gz</code></pre> - - <p>This command lists the directories related to that program. For example, <code>/etc/nginx</code> is where the configuration files are and <code>/usr/share/nginx</code> is where the library and module-like files are.</p> - <p>But <code>whereis</code> can be used only with installed programs. - A more general tool is the pair of <code>updatedb</code> and <code>locate</code>. - </p> - - <p> - <code>updatedb</code> is a command that quickly indexes every file and directory on your computer. - Then you can run <code>locate</code> to find a file containing a given name. - After running <code>updatedb</code>, try running <code>locate nginx</code> to find all files with "nginx" in their name. - </p> - - <p> - You can make your search more specific by chaining other Unix commands through pipes. - For example, <code>grep</code> takes input and returns only lines that match an extra argument. - In the example below, we <code>locate</code> all files with "nginx" in the name, but we use <code>grep</code> to only show us those with the word "available" in them. - </p> - - <pre><code>root@landchad:~# locate <strong>nginx</strong> | grep <strong>available</strong> -/etc/nginx/modules-available -/etc/nginx/sites-available -/etc/nginx/sites-available/default -/etc/nginx/sites-available/landchad -/usr/share/nginx/modules-available -/usr/share/nginx/modules-available/mod-http-auth-pam.conf -/usr/share/nginx/modules-available/mod-http-dav-ext.conf -/usr/share/nginx/modules-available/mod-http-echo.conf -/usr/share/nginx/modules-available/mod-http-geoip.conf -/usr/share/nginx/modules-available/mod-http-image-filter.conf -/usr/share/nginx/modules-available/mod-http-subs-filter.conf -/usr/share/nginx/modules-available/mod-http-upstream-fair.conf -/usr/share/nginx/modules-available/mod-http-xslt-filter.conf -/usr/share/nginx/modules-available/mod-mail.conf -/usr/share/nginx/modules-available/mod-stream.conf</code></pre> - - <p> - <code>updatedb</code> is an ideal candidate for a <a href="cron.html">cronjob</a> so you don't have to worry about running each time. - For example, adding the following to your crontab will run <code>updatedb</code> every 30 minutes: - </p> - <pre><code>*/30 * * * * /usr/bin/updatedb</code></pre> - <p> - </p> - </main> - <footer><a href="https://landchad.net">LandChad.net</a></br>Because Everyone should be an Internet LandChad.</br><a href="index.html"><li><img src="pix/chad.gif" alt="chad"></li></a><a href="rss.xml"><li><img src="pix/rss.svg" alt="RSS"></li></a><a href="donate-bitcoin.html"><li><img src="pix/btc.svg" alt="BTC"></li></a><a href="donate-monero.html"><li><img src="pix/xmr.svg" alt="XMR"></li></a><a href="https://github.com/lukesmithxyz/landchad"><li><img src="pix/git.svg" alt="Github"></li></a></footer> -</body> -</html> |
