Introdução
O Codeigniter é um framework PHP muito poderoso, com uma pegada pequena.
Este guia pressupõe que você tenha pelo menos uma pilha LAMP em funcionamento e acesso root ao seu VPS.
Instalando o Codeigniter
Primeiro, vá para a pasta raiz do Apache.
cd /var/www/html
Baixe a última versão estável do Codeigniter.
wget https://github.com/bcit-ci/CodeIgniter/archive/3.1.5.zip
Extraia o arquivo baixado.
unzip 3.1.5.zip
Se você receber um erro The program 'unzip' is currently not installed.:, você deve instalar o descompactação.
sudo apt install unzip
Agora tente extrair novamente.
Observe um novo diretório chamado CodeIgniter-3.1.5. Renomeie esta pasta para codeigniter.
mv CodeIgniter-3.1.5 codeigniter
Navegue até http://[vultr-instance-ip]/codeignitere você será recebido com a página de boas-vindas do codeigniter. Esta página de boas-vindas é produzida por um exemplo de controlador localizado em application/controllerschamado Welcome.php. A página carregada está localizada em application/viewse é chamada welcome.php.
Configuração e URLs bonitas
O Codeigniter agora está em funcionamento e você deve fazer algumas configurações iniciais. Se você planeja usar um banco de dados, precisará configurar o acesso ao banco de dados no database.phparquivo de configuração localizado em application/config/database.php. Encontre o bloco a seguir e atualize-o com suas informações de conexão.
$db['default'] = array(
        'dsn'   => '',
        'hostname' => 'localhost',
        'username' => '',
        'password' => '',
        'database' => '',
        'dbdriver' => 'mysqli',
        'dbprefix' => '',
        'pconnect' => FALSE,
        'db_debug' => (ENVIRONMENT !== 'production'),
        'cache_on' => FALSE,
        'cachedir' => '',
        'char_set' => 'utf8',
        'dbcollat' => 'utf8_general_ci',
        'swap_pre' => '',
        'encrypt' => FALSE,
        'compress' => FALSE,
        'stricton' => FALSE,
        'failover' => array(),
        'save_queries' => TRUE
);
Salve o arquivo e saia. Você concluiu a configuração do banco de dados, agora vamos revisar o esquema de URL do Codeigniter.
URLs bonitas
Por padrão, os URLs no Codeigniter são projetados para serem humanos, com uma abordagem baseada em segmentos:
http://[vultr-instance-ip]/codeigniter/index.php/[controller]/[method]/[param]
Seguindo a abordagem MVC, o [controller]segmento representa uma Classe de Controlador localizada em application/controllers, o [method]segmento um método nesta classe e o [param]segmento é um parâmetro passado para o método.
Vamos agora testar essa configuração adicionando o seguinte método ao método index em application/controllers/Welcome.php:
public function hello($user = 'John Doe')
{
    echo "Hello {$user}!";
}
Agora navegue para http://[vultr-instance-ip]/codeigniter/index.php/welcome/hello/Jack. Você deve ver Hello Jack!no seu navegador.
Removendo index.php
Por padrão index.php, será incluído no seu URL, para removê-lo, precisamos ativar o mod_rewritemódulo Apache , adicionar um .htaccessarquivo à pasta raiz do aplicativo e fazer algumas configurações no application/config/config.php.
Primeiro, vamos verificar se mod_rewritejá está ativado executando o seguinte comando.
apache2ctl -M
Se você vir rewrite_modulea lista, pode seguir em frente, caso contrário, ative-o.
a2enmod rewrite
Reinicie o servidor Apache.
sudo service apache2 restart
Agora crie o .htaccessarquivo em /var/www/html/codeigniter/e coloque o seguinte conteúdo nele.
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php?/$0 [PT,L] 
Certifique-se de que seu .htaccessarquivo é ativado definindo AllowOverridea All e adicionando Order allow,denye allow from allno arquivo de hosts virtual, ou na sua configuração do Apache global.
<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
        Order allow,deny
        allow from all
</Directory>
Agora remova o index.phparquivo dos URLs no arquivo de configuração do Codeigniter application/config/config.php.
Encontre o seguinte código,
$config['index_page'] = 'index.php';
E substitua por isso.
$config['index_page'] = '';
Agora você pode acessar seus URLs sem o index.phparquivo. Navegue até http://[vultr-instance-ip]/codeigniter/welcome/hello/Jacke confira isso. Você deve ver a mesma mensagem de antes.
Conclusão
Instalamos a estrutura do Codeigniter e removemos index.phpnossos URLs. Você pode aprender mais sobre essa estrutura através do guia oficial do usuário .