Executando verificação de segurança...
1

Consegui. Consegui realizar. veja:
lucianogr@lucianogr-Inspiron-15-3520:~/Projects/shortlink/shortlink$ php artisan migrate
Route::get('/', function () {
return view('welcome');
});

Route::post('/shorten', [App\Http\Controllers\ShortLinkController::class, 'store'])->name('shorten');
Route::get('{shortCode}', [App\Http\Controllers\ShortLinkController::class, 'show'])->name('shortlink.show');
Nothing to migrate.

Além do SQLite, ainda estava dando erro no Apache pois o NGinx também estava instalado (fui eu mesmo que instalei os dois porque se um der erro, utilizo o outro servidor). Desinstalei o Nginx para tirar o conflito, ele estava sendo carregado na porta 80 e aí iniciei o Apache.
O ambiente é desenvolvimento sim.
Cara muito obrigado fiz como você indicou e deu certo. Vivendo e aprendendo.

Carregando publicação patrocinada...
1

Laravel exige uma configuração um pouco mais chatinha de Nginx, aqui está o tutorial de como fazer, mas uso apache também por me atender bem. No caso você não precisava desinstalar, era só desabilitar com o comando sudo systemctl disable nginx, mas ok.

Ao invés de fazer

Route::post('/shorten', [App\Http\Controllers\ShortLinkController::class, 'store'])->name('shorten');
Route::get('{shortCode}', [App\Http\Controllers\ShortLinkController::class, 'show'])->name('shortlink.show');

Você pode simplismente agrupar as rotas que usam o mesmo controller, assim:

Route::controller(ShortLinkController::class)->group(function(){
    Route::post('/shorten', 'store')->name('shorten');
    Route::get('{shortCode}', 'show')->name('shortlink.show');
});

Dá pra melhorar ainda mais com resource controller e route model binding...