Warning: preg_match(): Unknown modifier '-' in /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php on line 783

Warning: preg_match(): Unknown modifier '-' in /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php on line 783

Warning: preg_match(): Unknown modifier '-' in /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php on line 783

Warning: preg_match(): Unknown modifier '-' in /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php on line 783

Warning: preg_match(): Unknown modifier '-' in /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php on line 783

Warning: preg_match(): Unknown modifier '-' in /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php on line 783

Warning: preg_match(): Unknown modifier '-' in /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php on line 783

Warning: preg_match(): Unknown modifier '-' in /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php on line 783

Warning: Cannot modify header information - headers already sent by (output started at /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php:783) in /home/akl1986/public_html/support/wp-includes/rest-api/class-wp-rest-server.php on line 1794

Warning: Cannot modify header information - headers already sent by (output started at /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php:783) in /home/akl1986/public_html/support/wp-includes/rest-api/class-wp-rest-server.php on line 1794

Warning: Cannot modify header information - headers already sent by (output started at /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php:783) in /home/akl1986/public_html/support/wp-includes/rest-api/class-wp-rest-server.php on line 1794

Warning: Cannot modify header information - headers already sent by (output started at /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php:783) in /home/akl1986/public_html/support/wp-includes/rest-api/class-wp-rest-server.php on line 1794

Warning: Cannot modify header information - headers already sent by (output started at /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php:783) in /home/akl1986/public_html/support/wp-includes/rest-api/class-wp-rest-server.php on line 1794

Warning: Cannot modify header information - headers already sent by (output started at /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php:783) in /home/akl1986/public_html/support/wp-includes/rest-api/class-wp-rest-server.php on line 1794

Warning: Cannot modify header information - headers already sent by (output started at /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php:783) in /home/akl1986/public_html/support/wp-includes/rest-api/class-wp-rest-server.php on line 1794

Warning: Cannot modify header information - headers already sent by (output started at /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php:783) in /home/akl1986/public_html/support/wp-includes/rest-api/class-wp-rest-server.php on line 1794
{"id":2697,"date":"2019-12-08T23:33:39","date_gmt":"2019-12-08T23:33:39","guid":{"rendered":"https:\/\/support.aklwebhost.com\/?post_type=manual_kb&p=2697"},"modified":"2019-12-11T00:35:37","modified_gmt":"2019-12-11T00:35:37","slug":"installing-arch-linux-on-a-aklweb-host-server","status":"publish","type":"manual_kb","link":"https:\/\/support.aklwebhost.com\/knowledgebase\/installing-arch-linux-on-a-aklweb-host-server\/","title":{"rendered":"Installing Arch Linux On a AKLWEB HOST Server"},"content":{"rendered":"

AKLWEB HOST provides you with the awesome functionality of letting you use your own custom image in addition to their excellent templates, which enables you to run a vast range of operating systems on your server. This tutorial will provide a step-by-step explanation of how to install Arch Linux<\/strong>.<\/p>\n

While Arch is generally considered a distribution for desktops and notebooks and not for servers. It is absolutely fitting to use it on your server. In exchange for the extra effort needed for installation, you get a bleeding edge, yet stable experience.<\/p>\n

First, you need to obtain a copy of the Arch installation image and upload it to your dashboard. Generally speaking, any mirror is fine. To increase the download speed, you should use a mirror that’s geographically close to your desired server location.<\/p>\n

You start by going to the site for\u00a0your image files<\/a>\u00a0and select a HTTP-link for the installation image, for example\u00a0this<\/a>\u00a0one. Download time is generally under one minute, depending on the speed of the mirror.<\/p>\n

After that, you can deploy your new server. Instead of choosing one of the listed operating system choices, you would choose the image you just uploaded from the drop-down menu named\u00a0ISO<\/strong>.<\/p>\n

After the deployment is complete, switch to the “Manage<\/strong>“-panel of your server and open up the\u00a0VNC-console<\/strong>\u00a0by clicking on\u00a0View console<\/strong>. You are now in the live-shell of Arch.<\/p>\n

Since there will be a lot of packages to be downloaded, the first thing you need to do is to set up the network connection. You can find the IPv4-information on your server’s dashboard. In order to find out how the network interface is called you run the\u00a0ip<\/strong>-command:<\/p>\n

ip link\r\n<\/code><\/pre>\n

The output should look similar to this:<\/p>\n

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT\r\n    link\/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00\r\n2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT qlen 1000\r\n    link\/ether 00:11:25:31:69:20 brd ff:ff:ff:ff:ff:ff\r\n<\/code><\/pre>\n

The first one is your loopback interface, which can be safely ignored for now. The second one is your ‘real’ interface which needs to be configured. Configuration is also performed with the IP-command. The syntax is as follows:<\/p>\n

ip addr add yourip\/yoursubnetmask dev yourinterfacename\r\n<\/code><\/pre>\n

For example (Do\u00a0not<\/strong>\u00a0use these IP addresses – use the ones you found in your dashboard instead):<\/p>\n

ip addr add 10.0.0.1\/24 dev eth0\r\n<\/code><\/pre>\n

Next, bring the interface up:<\/p>\n

ip link set eth0 up\r\n<\/code><\/pre>\n

Then you need to set the gateway:<\/p>\n

ip route add default via yourgateway\r\n<\/code><\/pre>\n

For example (Again, see your dashboard for the proper address):<\/p>\n

ip route add default via 10.0.0.1\r\n<\/code><\/pre>\n

Now you should be able to reach the Internet. However, in order to have a fully working connection, you need DNS to work. Edit\u00a0\/etc\/resolv.conf<\/strong>\u00a0with your favorite text editor (nano or vi) and add two nameservers – I am using Google’s public DNS as example:<\/p>\n

nameserver 8.8.8.8\r\nnameserver 8.8.4.4\r\n<\/code><\/pre>\n

You can test that everything works by using the\u00a0ping<\/strong>\u00a0command:<\/p>\n

ping -c 3 aklwebhost.com\r\n<\/code><\/pre>\n

If that works, then you are connected to the Internet. The next step is the partitioning of the disks, with the\u00a0cfdisk<\/strong>-utility. You open it by simply calling:<\/p>\n

cfdisk \/dev\/vda\r\n<\/code><\/pre>\n

It will first prompt you for a\u00a0partition type<\/strong>, select\u00a0dos<\/strong>\u00a0here. Then you create a “New<\/strong>” partition with a size of\u00a02GB<\/strong>\u00a0and type\u00a0Primary<\/strong>. Next, a second partition that fills up the rest of the space and is again of type “Primary<\/strong>“. Make also sure that the\u00a0Bootable<\/strong>-flag is set on the second partition. Finish the program by\u00a0Writing<\/strong>\u00a0everything and hitting ‘q<\/strong>‘ afterwards.<\/p>\n

The partitions are now there, but they are lacking a filesystem. Since the first partition will be swap, you need to run:<\/p>\n

mkswap \/dev\/vda1\r\nswapon \/dev\/vda1\r\n<\/code><\/pre>\n

The main filesystem will reside on the second partition:<\/p>\n

mkfs.ext4 \/dev\/vda2\r\nmount \/dev\/vda2 \/mnt\r\n<\/code><\/pre>\n

Now the real installation can start with the most basic packages:<\/p>\n

pacstrap \/mnt base base-devel\r\n<\/code><\/pre>\n

When that task has finished, you have a basic Arch-installation ready. Your installation still needs to be customized in a chroot. Before doing that, generate\u00a0\/etc\/fstab<\/strong>\u00a0for the installation:<\/p>\n

genfstab -p \/mnt > \/mnt\/etc\/fstab\r\n<\/code><\/pre>\n

Now you can chroot:<\/p>\n

arch-chroot \/mnt bash\r\n<\/code><\/pre>\n

In the chroot environment, you configure your language settings by opening\u00a0\/etc\/locale.gen<\/strong>\u00a0with your favorite text editor and uncommenting your language of choice, for example:<\/p>\n

en_US.UTF-8 UTF-8\r\n<\/code><\/pre>\n

Then, execute:<\/p>\n

locale-gen\r\n<\/code><\/pre>\n

And add the language to\u00a0\/etc\/locale.conf<\/strong>:<\/p>\n

echo \"LANG=en_US.UTF-8\" > \/etc\/locale.conf\r\n<\/code><\/pre>\n

Next is properly setting the timezone (Replace the zoneinfo with the zone of your server’s location):<\/p>\n

ln -s \/usr\/share\/zoneinfo\/Europe\/Amsterdam \/etc\/localtime\r\n<\/code><\/pre>\n

Configure your hostname (Choose a hostname accordingly):<\/p>\n

echo \"aklwebhostserver02\" > \/etc\/hostname\r\n<\/code><\/pre>\n

Configure\u00a0initramfs<\/a>:<\/p>\n

mkinitcpio -p linux\r\n<\/code><\/pre>\n

Install and configure\u00a0grub<\/strong>:<\/p>\n

pacman -S grub\r\ngrub-install \/dev\/vda\r\ngrub-mkconfig -o \/boot\/grub\/grub.cfg\r\n<\/code><\/pre>\n

Set a password for the\u00a0root<\/strong>\u00a0user account:<\/p>\n

passwd\r\n<\/code><\/pre>\n

Configure the static IP address for your server by editing\u00a0\/etc\/netctl\/eth0<\/strong>\u00a0with your favorite text editor:<\/p>\n

Description='eth0'\r\nInterface=eth0\r\nConnection=ethernet\r\nIP=static\r\nAddress='youraddress\/yoursubnetmask'\r\nGateway='yourgateway'\r\nDNS = 'nameserverofchoice'\r\n<\/code><\/pre>\n

and enabling the service at boot-time:<\/p>\n

netctl enable eth0\r\n<\/code><\/pre>\n

Since administrating your server from the virtual console isn’t exactly fun, you are going to install\u00a0OpenSSH<\/strong>\u00a0and activate it at boot-time:<\/p>\n

pacman -S openssh\r\nsystemctl enable sshd.service\r\n<\/code><\/pre>\n

Afterwards, you are finished. Leave the chroot by issuing the:<\/p>\n

exit\r\n<\/code><\/pre>\n

command, and reboot your server. Don’t forget to remove the image or else you will be stuck in a boot-loop.<\/p>\n

Your Arch Linux server is now online!<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","format":"standard","manualknowledgebasecat":[242],"manual_kb_tag":[401],"_links":{"self":[{"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/manual_kb\/2697"}],"collection":[{"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/manual_kb"}],"about":[{"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/types\/manual_kb"}],"author":[{"embeddable":true,"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/comments?post=2697"}],"version-history":[{"count":2,"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/manual_kb\/2697\/revisions"}],"predecessor-version":[{"id":2721,"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/manual_kb\/2697\/revisions\/2721"}],"wp:attachment":[{"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/media?parent=2697"}],"wp:term":[{"taxonomy":"manualknowledgebasecat","embeddable":true,"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/manualknowledgebasecat?post=2697"},{"taxonomy":"manual_kb_tag","embeddable":true,"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/manual_kb_tag?post=2697"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}