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.

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