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.2:
[isabell@stardust ~]$ uberspace tools version use php 8.2
Selected PHP version 8.2
[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.13.0/linkace-v1.13.0.zip
[isabell@stardust isabell]$ unzip -d linkace/ linkace-v1.13.0.zip
Archive: linkace-v1.13.0.zip
[...]
[isabell@stardust isabell]$ rm linkace-v1.13.0.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 -d linkace/ -o linkace-vx.x.x.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.13.0 and Uberspace 7.15.8
Written by: Kevin Jost <https://github.com/systemsemaphore>