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.

Install Mikrotik RouterOS on PC or VirtualBox

Mikrotik RouterOS is a Linux based operating system. To install RouterOS on x86 PC or virtual machine do the several steps:

1. Download official ISO image from: www.mikrotik.com/download

2. On VirtualBox create virtual machine, on physical PC insert CD disk with RouterOS in your CD/DVD drive and start booting from CD

3. Choose which packages You want to install (to install all packages press letter “a“). To install operating system press letter “i“:

That’s all. Don’t forget to eject ISO image or CD disk and reboot PC.

To login in to the RouterOS for the first time use login “admin” and no password.

To set DHCP client on mikrotik interface use next commands:

ip dhcp-client
add interface=ether1 add-default-route=yes use-peer-dns=yes use-peer-ntp=yes 
enable 0

To connect to the Mikrotik RouterOS use official program WinBox:

Create first project on Arduino

To start programming Arduino download official Arduino IDE software from the site: https://www.arduino.cc/en/Main/Software

If you use Arduino Nano, you need to install CH341 driver. Next connect Arduino to PC via Mini-USB cable:

Run Arduino IDE, go to Tools -> Board and set correct Arduino model, processor and serial port:

Correct port you can see in Device Manager in the section “Ports (COM & LPT)”:

If all is OK you can go to Tools -> Get Board Info and watch information about your Arduino:

Now let’s write first program on Arduino which will blink onboard led indicator. Arduino has 14 digital PIN for digital devices and 8 analog PIN for analog devices. Our led indicator connected to 13 digital pin.

In function setup() let’s say Arduino that 13 digital PIN will work in output mode:

void setup() {
  pinMode(13,1);
}

All commands in loop() function Arduino will execute in a loop. Command digitalWrite(13,1) activates 13 PIN, command digitalWrite(13,0) similarly deactivate 13 PIN on Arduino.
Command delay(1000) set delay in milliseconds between commands:

void loop() {
  digitalWrite(13,1);
  delay(1000);
  digitalWrite(13,0);
  delay(1000);
}

Next let’s compile our first program and write it to Arduino controller:

That’s all. Our first Arduino project is done. 😉

Install Gitea Git Service on Ubuntu 18.04

Gitea is a free, open source and self-hosted version control system alternative to GitHub and GitLab. It is simple, easy, robuts, scalable and a great alternative to other git services. All source code is available under the MIT License on GitHub. Gitea has low minimal requirements (1 CPU core and 1GB RAM), so it can run on an inexpensive Raspberry Pi.

You can also compile Gitea for Windows, macOS, Linux, ARM, etc. Gitea provides lots of features such as, Low resource usage, Multiple database support, free and open source, Multiple OS support, etc.

In this tutorial, we will learn how to install and configure Gitea Git Service on Ubuntu 18.04 server.

Official git repository of Gitea: https://github.com/go-gitea/gitea/

First of all install Ubuntu 18.04. on Your virtual or physical server. After that update and upgrade your system to latest version:

sudo apt-get update
sudo apt-get upgrade

First, you will need to download the latest version of Gitea binary from Git repository. All versions of Gitea You can see here: https://github.com/go-gitea/gitea/releases/. You can download it with the following command:

wget https://github.com/go-gitea/gitea/releases/download/v1.10.3/gitea-1.10.3-linux-amd64

Next, copy the downloaded file to /usr/local/bin/ directory and give necessary permissions:

cp gitea-1.10.3-linux-amd64 /usr/local/bin/gitea
chmod 755 /usr/local/bin/gitea

Next, create a system user for Gitea with the following command:

adduser --system --shell /bin/bash --group  --disabled-password --home /home/gitea gitea

Next, create a directory structure for Gitea with the following command:

mkdir -p /etc/gitea /var/lib/gitea/{custom,data,indexers,public,log}
chown gitea:gitea /etc/gitea /var/lib/gitea/{custom,data,indexers,public,log}
chmod 750 /var/lib/gitea/{data,indexers,log}
chmod 770 /etc/gitea

Create Systemd Service file for Gitea

Next, you will need to create a systemd service file to manage Gitea service. You can create it with the following command:

nano /etc/systemd/system/gitea.service

Add the following lines:

[Unit]
Description=Gitea
After=syslog.target
After=network.target
After=mysql.service

[Service]
RestartSec=2s
Type=simple
User=root
Group=root
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini
Restart=always
Environment=USER=root HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea

[Install]
WantedBy=multi-user.target

Save and close the file. Then, reload systemd and start Gitea service with the following command:

systemctl start gitea

You can check the status of Gitea service with the following command:

systemctl status gitea

Next, enable Gitea service to start at boot time with the following command:

systemctl enable gitea

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

Gitlab – create and restore backup

To create backup enter command:

sudo gitlab-rake gitlab:backup:create

First we need to make sure that the backup tar file is in the backup directory described in the gitlab.rb configuration (Default is /var/opt/gitlab/backups). Next, we need gitlab running for restoring backup on ominbus installations. If it’s not up, start with,

sudo gitlab-ctl start

and we need to have services that are connected to database in stopped state,

sudo gitlab-ctl stop unicorn
sudo gitlab-ctl stop sidekiq

Copy files from backup folder (/var/opt/gitlab/backups) to external hard drive, also copy files:

/etc/gitlab/gitlab-secrets.json
/etc/gitlab/gitlab.rb

Now execute the following command to restore the backup on server,

sudo gitlab-rake gitlab:backup:restore BACKUP=1393157476_2018_03_11_9.1.0

here, 1393157476_2018_03_11_9.1.0 is the name of the backup file that will be restored. Once the backup has been restored, we need to restart the gitlab services,

sudo gitlab-ctl restart

We now have successfully restored gitlab from the backup file.