How to fix the error “Invalid command ‘RewriteEngine'”

I noticed one error after installing FreePBX:

Invalid command ‘RewriteEngine’, perhaps misspelled or defined by a module not included in the server configuration

To solve it, you need to activate the rewrite module in apache2:

sudo a2enmod rewrite

And restart apache2 to apply the changes:

sudo service apache2 restart

Done.

Configuring DHCP relay on Cisco

On the test, I’ll take the Cisco Catalyst 6509-E switch and configure it to forward DHCP packets to the DHCP server.
The switch is configured as L3 with assigned IP addresses in each VLAN.

Connect to the switch through the console or telnet and go to the configuration mode:

enable
configure t

Let’s assume the DHCP server address is 192.168.11.1 and we want to configure the transfer of DHCP broadcast packets to it on VLAN 100, for this we execute the commands:

interface Vlan100
ip helper-address 192.168.11.1
exit

Exit the configuration mode and save the configuration:

exit
write

Done.

How to connect Google Drive to Linux using Grive

Grive – the console client allows you to synchronize data with Google Drive.

Install the necessary components:

sudo apt-get install git cmake build-essential libgcrypt11-dev libyajl-dev \
libboost-all-dev libcurl4-openssl-dev libexpat1-dev libcppunit-dev binutils-dev

Tried to install the command apt-get install grive, but in this case I have an old version installed, which is no longer workable.
So create a directory and clone the latest Grive source files from the official source:

mkdir grive
cd grive/
sudo git clone https://github.com/Grive/grive.git
cd grive/

Let’s build Grive from the source files:

sudo dpkg-buildpackage -j4

If desired, you can build manually:

mkdir build
cd build
sudo cmake ..
sudo make -j4
sudo make install

The installation of Grive is complete, now we will create and move to any directory where Google Drive will be synchronized:

mkdir ~/GoogleDrive
cd ~/GoogleDrive

Request an authorization token from Google:

grive -a

After the startup, a link will be generated that will need to go to the browser, login to the account, allow access, copy the response code and enter it in the terminal, then synchronization will begin.

In the future, for synchronization, go to the directory and run Grive:

cd ~/GoogleDrive
grive

You can save the synchronization report to a file:

grive -l ~/log.txt

To view the current version of Grive, use the command:

sudo grive -v

Installing and Configuring Bacula

Bacula – a set of client-server programs for managing backups.
It consists of the components of Director Daemon (DD), Storage Daemon (SD), File Daemon (FD) and Bacula Console (BC).

To install in Ubuntu/Debian, perform:

sudo apt-get install bacula

During the installation process, the MySQL user’s root password will be requested and a database created, and Postfix installed.

Create directories and set permissions:

sudo mkdir -p /bacula/backup /bacula/restore
sudo chown -R bacula:bacula /bacula
sudo chmod -R 700 /bacula

Open the configuration file DD, for example, in the text editor nano:

sudo nano /etc/bacula/bacula-dir.conf

Let’s find “Standard Restore template” and there where “Where” we change the path:

Job {
Name = "RestoreFiles"
Type = Restore
Client=Blank-fd
FileSet="Full Set"
Storage = File
Pool = Default
Messages = Standard
Where = /bacula/restore
}

Further we find “List of files to be backed up” and a little bit lower where “File =” we specify that it is necessary to copy in a backup copy.

Unnecessary directories can be deleted by adding for example:

Exclude {
File = /bacula
File = /proc
File = /tmp
}

Open the configuration file SD:

sudo nano /etc/bacula/bacula-sd.conf

Let’s find “Devices supported by this Storage daemon” and specify in “Archive Device =” where to store backup copies, for example:

Archive Device = /bacula/backup

We test the correctness of the configuration:

sudo bacula-dir -tc /etc/bacula/bacula-dir.conf
sudo bacula-sd -tc /etc/bacula/bacula-sd.conf

If the command did not say anything, then everything is fine and there are no errors.

Restart bacula services to apply configuration changes:

sudo service bacula-sd restart
sudo service bacula-director restart

Let’s check if all three services are running:

netstat -nlpt | grep [b]acula

Open the console bacula:

sudo bconsole

Check status:

status

We type the command:

label

and specify the name of the backup, then specify 2 that this file.

Run our configured backup process (select 1 and yes):

run

View successful completion messages:

messages

Leave the console bacula:

quit

A backup file should appear in the /bacula/backup directory.

See also:
How to install Bacula-web

How to install Bacula-web

Bacula-Web – a web-based tool for creating reports and monitoring Bacula.

Install the necessary components:

sudo apt-get install apache2 libapache2-mod-php5 php5-mysql php5-gd
sudo a2enmod php5
sudo a2enmod rewrite

Open the PHP configuration file in the editor and specify the time zone:

sudo nano /etc/php5/apache2/php.ini
date.timezone = Europe/Kiev

And also for the directory with Bacula-Web we specify the option:

sudo nano /etc/apache2/sites-enabled/000-default.conf
<Directory /var/www/html/bacula-web>
AllowOverride All
</Directory>

Restart apache2 to apply the changes:

sudo service apache2 restart

Let’s go to the web server directory, download the archive with the latest version of Bacula-web and unpack it:

cd /var/www/html
curl -O http://www.bacula-web.org/files/bacula-web.org/downloads/bacula-web-latest.tgz
mkdir -v /var/www/html/bacula-web
tar -xzf bacula-web-latest.tgz -C /var/www/html/bacula-web

Make a copy of the sample configuration file and open it for example in the text editor nano:

cd /var/www/html/bacula-web/application/config
cp -v config.php.sample config.php
sudo nano /var/www/html/bacula-web/application/config/config.php

Uncomment and configure MySQL parameters:

$config[0]['label'] = 'Backup Server';
$config[0]['host'] = 'localhost';
$config[0]['login'] = 'bacula';
$config[0]['password'] = 'test';
$config[0]['db_name'] = 'bacula';
$config[0]['db_type'] = 'mysql';
$config[0]['db_port'] = '3306';

Since some commands were executed through sudo, we will specify the correct owner of the files:

sudo chown -R www-data:www-data /var/www/html/bacula-web

This completes the installation, you can open the Bacula-Web from the http://SERVER/bacula-web link, and also it is advisable to look at the http://SERVER/bacula-web/test.php test page that will tell you whether all the necessary components are installed and configured.

See also:
Installing and Configuring Bacula

How to fix error VirtualBox “Unable to boot – please use a kernel appropriate for your CPU”

After running the virtual system in VirtualBox, I noticed the following error:

This kernel requires the following features not present on the CPU:
pae
Unable to boot – please use a kernel appropriate for your CPU.

The error can be solved in several ways:

Method 1) When you turn on the computer, go into the BIOS and enable the virtualization in the processor settings (if the processor supports it).

Method 2) After opening VirtualBox, we will go into the settings of the virtual system created, namely “Settings” – “System” – “CPU” and put a tick near “Additional Options: Enable PAE/NX“. Click “OK” to save changes.

Done, this error should not be displayed.

Configuring Remote Access in Mikrotik Router

Open “IP”“Firewall” – the tab “Filter Rules”.
Click “Add new” to add a new rule.

Then set the following parameters:

Chain: input
Src. Address: here you can specify the IP address or network with which it is allowed to connect, if everyone is allowed, then we do not specify.
Protocol: tcp
Dst. Port: 80 (or 8291 for Winbox, 21 for ftp, 22 for ssh, 23 for telnet, udp 161 for snmp)
Action: accept

Click “OK” to add a rule.

After that, in the firewall, a rule will be created at the end of the list. Since it will be the last, and before it there is a rule prohibiting everything, then it must be dragged to the very top with the mouse, otherwise it will not be of use.

Through the command line, the rules will look like this:

/ip firewall filter add chain=input protocol=tcp dst-port=80 disabled=no action=accept

To pick up the list, you can do this (where 30 is the ID of the rule added):

/ip firewall filter print
/ip firewall filter move 30 destination=1

Or in the command itself, we indicate that you need to place the rule at the very beginning of the list:

/ip firewall filter add chain=input protocol=tcp dst-port=80 disabled=no action=accept place-before 0

Also in the menu “IP” – “Services” in the parameters of the desired service, you can add “Available From” the list of IP addresses from which you want to allow access. Access is restricted to both local and external addresses, so first of all you need to add the IP or subnet with which you are currently connected.

I’ll give an example of specifying IP through a terminal for example for telnet (similar to ftp, www, ssh, winbox):

/ip service set telnet address=192.168.1.0/24,172.16.205.50/32,192.168.3.24/32

See also my article:
Configure Hairpin NAT on RouterOS (Mikrotik)