How To Set Up Apache Virtual Hosts on Ubuntu Linux

You will need to have Apache installed in order to work through these steps. If you haven’t already done so, you can get Apache installed on your server through apt-get:

sudo apt-get update
sudo apt-get install apache2

For example let’s create virtual Apache host test.host. Create host directory:

sudo mkdir -p /var/www/test.host/public_html

Now we have the directory structure for our files, but they are owned by our root user. If we want our regular user to be able to modify files in our web directories, we can change the ownership by doing this:

sudo chown -R $USER:$USER /var/www/test.host/public_html

We should also modify our permissions a little bit to ensure that read access is permitted to the general web directory and all of the files and folders it contains so that pages can be served correctly:

sudo chmod -R 755 /var/www

Virtual host files are the files that specify the actual configuration of our virtual hosts and dictate how the Apache web server will respond to various domain requests.

Apache comes with a default virtual host file called 000-default.conf that we can use as a jumping off point. We are going to copy it over to create a virtual host file for each of our domains.

We will start with one domain, configure it, copy it for our second domain, and then make the few further adjustments needed. The default Ubuntu configuration requires that each virtual host file end in .conf. Start by copying the file for the first domain:

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/test.host.conf

Open the new file in your editor with root privileges:

sudo nano /etc/apache2/sites-available/test.host.conf

Change this file look something like this:

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName test.host
    ServerAlias www.test.host
    DocumentRoot /var/www/test.host/public_html

    <Directory /var/www/test.host/public_html>
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Now that we have created our virtual host files, we must enable them. Apache includes some tools that allow us to do this.

sudo a2ensite test.host.conf

Next, disable the default site defined in 000-default.conf:

sudo a2dissite 000-default.conf

When you are finished, you need to restart Apache to make these changes take effect:

sudo service apache2 restart

Connect to SSTP server from Linux

SSTP is Microsofts Remote Access Solution (RAS) for PPP over SSL. It can be used instead of PPTP or L2TP, and is only available with Windows Vista/7 connecting to a Windows 2008 Server. The advantage of SSTP compared to PPTP and L2TP is that it cannot be easily blocked by firewalls since the traffic is transmitted over HTTPS on port 443.

In Ubuntu Linux we can connect to SSTP by using SSTP-Client project on SourceForge.

To install SSTP-Client on Ubuntu add PPA repository:

sudo add-apt-repository ppa:eivnaes/network-manager-sstp

Then update package list and install packages sstp-client, network-manager-sstp by commands:

sudo apt update
sudo apt install sstp-client network-manager-sstp

Package network-manager-sstp is used only on Linux with graphic interface, on console Linux You don’t need to install this package.

To convert .CRT certificate to .PEM certificate use command:

openssl x509 -in mycert.crt -out mycert.pem -outform PEM

How to check SSD life in Linux

To check SSD Smart information install program: Smartmontools:

sudo apt-get intall smartmontools

To view information about SSD drive use command:

sudo smartctl -i /dev/sda

To view all Smart information about SSD use command:

sudo smartctl -a /dev/sda

To view only SSD health in percent use command:

sudo smartctl -a /dev/sda | grep Media_Wearout_Indicator

Install Nextcloud on Ubuntu server

To install Nextcloud on Ubuntu or other Linux use command:

sudo snap install nextcloud

After installation snap package check installation status

sudo snap changes nextcloud

To change default http and https ports use commands:

sudo snap set nextcloud ports.http=81
sudo snap set nextcloud ports.https=444

In Nginx proxy server configuration file change proxy_pass default port to 81:

Nextcloud’s automatic hostname detection can fail when behind a proxy; you might notice it redirecting incorrectly. If this happens, override the automatic detection (including the port if necessary), e.g.:

sudo nextcloud.occ config:system:set overwritehost --value="example.com:81"

Nextcloud and Nginx https proxy

If You use Nginx as https frontend and nextcloud as http backend – You neet co change /var/snap/nextcloud/20498/nextcloud/config.php insert the foloving lines:

  'overwrite.cli.url' => 'https://example.host',
  'overwriteprotocol' => 'https',

In Nginx http config file insert 301 redirect to https:

return 301 https://example.host$request_uri;

By default, PHP will use 128M as the memory limit. If you notice images not getting previews generated, or errors about memory exhaustion in your Nextcloud log, you may need to set this to a higher value.

If you’d like to set the memory limit to a higher value (say, 512M), run:

sudo snap set nextcloud php.memory-limit=512M

To set it to be unlimited (not recommended), use -1:

sudo snap set nextcloud php.memory-limit=-1

By default the cronjob interval is 15 minutes. To adjust it (say, 10 minutes) simply run:

sudo snap set nextcloud nextcloud.cron-interval=10m

Rescan all files for all users with occ console command:

sudo -u username php occ files:scan --all

Manjaro Linux – Install Apache, PHP, MariaDB – MySQL (LAMP)

To install “LAMP” – Apache, PHP, MySQL on Arch and Manjaro Linux do some steps:

First update Your operating system to latest version:

sudo pacman -Syyu

Apache

After updating Your system lets install Apache web server:

sudo pacman -S apache

Edit file /etc/httpd/conf/httpd.conf, search and comment the following line:
# LoadModule unique_id_module modules/mod_unique_id.so

sudo nano /etc/httpd/conf/httpd.conf

Enable Apache service and restart Apache service using commands:

sudo systemctl enable httpd
sudo systemctl restart httpd

Verify Apache status by command:

sudo systemctl status httpd

PHP

Now install latest version of PHP:

sudo pacman -S php php-apache

After installation we neet to configure out PHP.
Edit file: /etc/httpd/conf/httpd.conf

sudo nano /etc/httpd/conf/httpd.conf

Find the folowing line and comment it:

#LoadModule mpm_event_module modules/mod_mpm_event.so

Also uncomment or add the line:

LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

Then add the following lines at the bottom of configuration file:

LoadModule php7_module modules/libphp7.so
AddHandler php7-script php
Include conf/extra/php7_module.conf

PHP installed. Now create index.php file in Apache home directory to check that PHP is installed correctly:

sudo nano /srv/http/index.php
<?php
phpinfo();
?>

Restart the PHP service:

sudo systemctl restart httpd

Go to http://127.0.0.1/ and check that Apache server with latest PHP version installed on your Manjaro Linux:

MySQL MariaDB

Install MySQL Server:

sudo pacman -S mysql

Initialize the MariaDB data directory prior to starting the service:

sudo mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql

Enable and srart MySQL service:

sudo systemctl enable mysqld 
sudo systemctl start mysqld

Check that MySQL service installed and work correctly:

sudo systemctl status mysqld

After installation MySQL You need to setup root user and password:

sudo mysql_secure_installation

Install Skype on Arch Linux or Manjaro KDE

To install Skype on Arch or Manjaro Linux open terminal and clone latest stable Skype repository:

git clone https://aur.archlinux.org/skypeforlinux-stable-bin

Go to ~/skypeforlinux-stable-bin/ directory and build the AUR package:

cd skypeforlinux-stable-bin/
makepkg -s

When finished the result should be the newly build Skype package ready for the installation:

ls *pkg.tar.xz
skypeforlinux-stable-bin-8.59.0.77-1-x86_64.pkg.tar.xz

Using the pacman command install Skype package. Replace the package name suffix with the Skype version you have compiled previously:

sudo pacman -U --noconfirm skypeforlinux-stable-bin-8.59.0.77-1-x86_64.pkg.tar.xz

That’s all, the Skype installation is now completed. Use the Start menu and search Skype shortcut in Programs->Internet:

or simply start it from terminal:

skypeforlinux

Install Dropbox on Arch Linux or Manjaro KDE

Install Dropbox on Arch based Linux systems is very simple. First of all make sure that on Your system installed GIT, if not install git by command:

sudo pacman -S git

*If you already installed git , you don’t no need.

Now clone Dropbox git repository:

git clone https://aur.archlinux.org/dropbox.git

Go to Dropbox folder:

cd dropbox/

And compile the code by command:

makepkg -si

It’ll take some time so wait for it. If fails to build gpg key then just copy the key and type:

gpg --recv-keys YOUR-KEY

Then again press makepg -si.

Allow SSH root login on Debian and Ubuntu Linux

By default Ubuntu 18.04 installation comes with unset root password. To set root password open up terminal and execute the following linux command:

$ sudo passwd
[sudo] password for user: 
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully

Edit SSH configuration file: /etc/ssh/sshd_config and set property PermitRootLogin to yes:

Save configuration file and restart ssh service by command:

sudo service ssh restart

To restart SSH on Debian you can use command:

systemctl restart ssh.service

Turn off clamav for email in VestaCP

You should edit /etc/exim4/exim.conf

#CLAMD =  yes
CLAMD =  no

edit /usr/local/vesta/conf/vesta.conf and comment / remove clamav

#ANTIVIRUS_SYSTEM='clamav'
ANTIVIRUS_SYSTEM=''

than disable and stop the service

systemctl disable clamd
systemctl stop clamd
systemctl restart exim

Test exim (send and receive email)
watch your log