LinkAce¶
LinkAce is a self-hosted archive to collect links of your favorite websites. LinkAce comes with a lot of features while keeping a clean and minimal interface.
Prerequisites¶
We’re using PHP in the stable version 8.0:
[isabell@stardust ~]$ uberspace tools version show php
Using 'PHP' version: '8.0'
[isabell@stardust ~]$
You’ll need your MySQL credentials. Get them with my_print_defaults
:
[isabell@stardust ~]$ my_print_defaults client
--default-character-set=utf8mb4
--user=isabell
--password=MySuperSecretPassword
[isabell@stardust ~]$
Your website domain needs to be set up:
[isabell@stardust ~]$ uberspace web domain list
isabell.uber.space
[isabell@stardust ~]$
Installation¶
cd
to the directory one level above your DocumentRoot, then download LinkAce. You can find the latest version on the release page, replace the version below with the version number.
[isabell@stardust ~]$ cd /var/www/virtual/$USER/
[isabell@stardust isabell]$ wget https://github.com/Kovah/LinkAce/releases/download/v1.9.1/linkace-v1.9.1.zip
[isabell@stardust isabell]$ unzip linkace-v1.9.1.zip
Archive: linkace-v1.9.1.zip
inflating: linkace.zip
[isabell@stardust isabell]$ unzip -d linkace/ linkace.zip
[isabell@stardust isabell]$ rm linkace-v1.9.1.zip linkace.zip
[...]
[isabell@stardust isabell]$
After the installation has finished, remove your unused DocumentRoot and create a new symbolic link to the linkace/public
directory.
[isabell@stardust ~]$ cd /var/www/virtual/$USER/
[isabell@stardust isabell]$ rm -f html/nocontent.html; rmdir html
[isabell@stardust isabell]$ ln -s /var/www/virtual/$USER/linkace/public html
[isabell@stardust isabell]$
Configuration¶
Set up a database¶
Run the following code to create the database <username>_linkace
in MySQL:
[isabell@stardust ~]$ mysql -e "CREATE DATABASE ${USER}_linkace COLLATE utf8mb4_bin;"
[isabell@stardust ~]$
Note
Other collations like utf8mb4_general_ci may cause issues with different Unicode characters.
Create the .env file¶
Create a copy of the .env.example file and name it .env
[isabell@stardust ~]$ cd /var/www/virtual/$USER/linkace
[isabell@stardust linkace]$ cp .env.example .env
[isabell@stardust ~]$
Generate a secret key¶
Run the following command to generate a secret key for your application and prepare LinkAce for the setup:
[isabell@stardust ~]$ cd /var/www/virtual/$USER/linkace
[isabell@stardust linkace]$ php artisan key:generate
[isabell@stardust ~]$
Finishing installation¶
Point your browser to https://isabell.uber.space/
The built-in setup should start. Follow the instructions, enter your database credentials and register your user account.
Updates¶
Check LinkAce’s release page for the latest version. If a newer version is available, download the package. Overwrite all existing files with the new ones.
[isabell@stardust ~]$ cd /var/www/virtual/$USER/
[isabell@stardust isabell]$ wget https://github.com/Kovah/LinkAce/releases/download/vx.x.x/linkace-vx.x.x.zip
[isabell@stardust isabell]$ unzip linkace-vx.x.x.zip
Archive: linkace-vx.x.x.zip
inflating: linkace.zip
[isabell@stardust isabell]$ unzip -d linkace/ -o linkace.zip
[isabell@stardust isabell]$ rm "*".zip
[...]
[isabell@stardust isabell]$
Run the database migrations which are needed after all updates and delete the current cache:
[isabell@stardust ~]$ cd /var/www/virtual/$USER/linkace
[isabell@stardust linkace]$ php artisan migrate
[isabell@stardust linkace]$ php artisan cache:clear
Note
You may get a warning about running the migration in production mode. You should confirm the migration by answering with yes. Make sure to check the LinkAce upgrade guide so you don’t miss additional important steps.
Acknowledgements¶
This guide is based on the official LinkAce setup guide.
Tested with LinkAce v1.9.1 and Uberspace 7.12.0
Written by: Kevin Jost <https://github.com/systemsemaphore>