Accel-ppp installation

In this article, I’ll give an example of how to build and install accel-ppp in Ubuntu Server.

The accel-ppp requirements are:
A modern Linux distribution
Kernel 2.6.25 or later
cmake is not younger than version 2.6
libcrypto-0.9.8+ (openssl-0.9.8)
libpcre
net-snmp-5.x (for snmp)
liblua5.1 (for IPoE DHCP option 82)

Continue reading Accel-ppp installation

Solution “Internal Server Error” when opening Nextcloud

Recently moved Nextcloud from one server to another and when it opened, noticed the following error in the browser:

Internal Server Error

The server encountered an internal error and was unable to complete your request.
Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report.
More details can be found in the server log.

In my case, the error occurred because of a damaged MySQL database, so I restored it from another backup and Nextcloud opened.
I assume that the same error can occur when the Nextcloud database exists, but is empty.

See my article:
Install Nextcloud in Ubuntu

Installing and using ClamAV antivirus software

Clam AntiVirus — a package of antivirus software running on many operating systems.

The installation command in Ubuntu/Debian:

sudo apt-get install clamav

Installation in CentOS:

yum -y install epel-release
yum -y update
yum clean all
yum -y install clamav clamd

For scanning, you can use the clamscan utility. Information about the launch can be read by typing the command:

info clamscan

I’ll give you an example of how to start scanning:

sudo clamscan -i -r /home

where -i means that only infected files will be displayed in the console, /home – the directory to be scanned, and -r that all subdirectories will be scanned.

An example of starting a scan with deleting detected threats:

sudo clamscan -i -r --remove /home

To update the ClamAV anti-virus databases, you must run the following command:

sudo freshclam

For ClamAV there is also a graphical interface – ClamTk.

See also my article:
How to start ClamAV scanning from the command line on the cPanel server

Installing Webmin

Webmin – a graphical web interface for managing a Linux server, written in Perl.
Official site: www.webmin.com

Here is an example of installing Webmin in Ubuntu.

Open the list of sources in a text editor:

nano /etc/apt/sources.list

Add this line to it:

deb http://download.webmin.com/download/repository sarge contrib
deb http://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib

We go to the temporary directory and import the key:

cd /tmp
wget http://www.webmin.com/jcameron-key.asc
apt-key add jcameron-key.asc

We update the list of sources:

apt-get update

We install the packages necessary for the correct operation of Webmin:

sudo apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl libmd5-perl

Install Webmin:

apt-get install webmin

The installation is complete, to open the Webmin interface we will open in the browser https://HOST:10000

Configuring Fail2Ban for Bind9

Suppose Fail2Ban is already installed, if not, then see my article – Installing and Configuring Fail2ban.

By default, Bind9 does not write logs, so open its configuration file in any text editor:

sudo nano /etc/bind/named.conf

And add:

logging {
    channel security_file {
        file "/var/log/named/security.log" versions 3 size 30m;
        severity dynamic;
        print-time yes;
    };
    category security {
        security_file;
    };
};

Continue reading Configuring Fail2Ban for Bind9

Transfer /boot from a separate partition to a main partition

On the test, I installed a clean Ubuntu Server 18.04, during the installation, the system automatically split the disk into one main /dev/sda1, which already had /boot files.
Since I did not have a system with /boot on a separate partition, I transferred it to a separate one and described the process in this article – Transfer /boot from a main partition to a separate partition

Now let’s move the /boot partition to the main /.

Let’s look at the information about the disks:

sudo fdisk -l
df -h

Continue reading Transfer /boot from a separate partition to a main partition

Transfer /boot from a main partition to a separate partition

Today, I’ll give an example of moving /boot from a shared partition to a separate partition.
For the test, you can connect a new disk or use the first partition on any disk, for example, with a size of 512MB.

Let’s look at the information about the disks:

sudo fdisk -l
sudo ls -l /boot
sudo du -hs /boot

Continue reading Transfer /boot from a main partition to a separate partition

Upgrading PHP Version on Ubuntu 14.04

Once it was necessary to upgrade the version of PHP 5.5.9 to 5.6 on Ubuntu Server 14.04 LTS, the usual update of the system components did not help:

sudo apt-get update
sudo apt-get upgrade

You can try to upgrade the system to 16.04 or higher as I described in the article Updating Ubuntu 14.04 to 16.04. Together with the system will be updated and PHP.

If the system update fails, you can add a third-party source with PHP:

sudo add-apt-repository ppa:ondrej/php
sudo apt-get update

And install the correct version from it, for example PHP 5.6:

sudo apt-get install php5.6 php5.6-mbstring php5.6-mcrypt php5.6-mysql php5.6-xml

Since there are several installed versions, disable the old version and activate the installed one:

sudo a2dismod php5
sudo a2enmod php5.6
sudo service apache2 restart

Similarly, you can install PHP 7.2:

sudo apt-get install php7.2
sudo a2dismod php5.6
sudo a2enmod php7.2
sudo service apache2 restart

Or PHP 7.0:

sudo apt-get install php7.0
sudo a2dismod php7.2
sudo a2enmod php7.0
sudo service apache2 restart

The solution to the error in ProFTPd “unable to open passwd file”

Once I noticed the following error in the file /var/log/proftpd/proftpd.log:

error: unable to open passwd file ‘/etc/proftpd/ftpd.passwd’: Permission denied

As it turned out, the rights to the file were 440 and the owner and group were specified as root
Let’s look in the file /etc/proftpd/proftpd.conf, from which user ProFTPd works, by default from the user proftpd:

User proftpd
Group nogroup

Just in case, we will specify the correct rights to the files (if they are other, then ProFTPd may not start):

sudo chmod 440 /etc/proftpd/ftpd.passwd
sudo chmod 440 /etc/proftpd/ftpd.group

And we will point to the owner files under which ProFTPd is running (for example, by default from proftpd, we leave the group as root):

sudo chown proftpd.root /etc/proftpd/ftpd.group
sudo chown proftpd.root /etc/proftpd/ftpd.passwd

If necessary, restart ProFTPd:

sudo service proftpd restart

After that, you can connect to ProFTPd, there should be no errors.

See also my article:
Configuring ProFTPd with virtual users in a file