Mostrando postagens com marcador Apache. Mostrar todas as postagens
Mostrando postagens com marcador Apache. Mostrar todas as postagens

Solução para conectar com SQL Server no Linux (mssql)

Hoje estive pesquisando sobre isso, para fazer um site em PHP no linux acessar banco de dados Microsoft SQL Server.

No meu caso, o servidor de banco de dados tem Windows Server 2012 com SQL Server 2012, o o servidor que terá o site PHP é um Ubuntu Server 14.04 64bits.

Na instalação do servidor Ubuntu, marquei pra deixar instalado LAMP apenas, depois, executei o seguinte comando para habilitar conexão com banco sql server:
apt-get install php-mssql php-sybase

E depois, configurei o arquivo config/database.php do CodeIgniter da seguite forma:

$db['default']['hostname'] = '172.16.***.***';
$db['default']['username'] = 'USUARIO';
$db['default']['password'] = 'SENHA';
$db['default']['database'] = 'BANCO';
$db['default']['dbdriver'] = 'mssql';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = FALSE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;

Atenção para o driver, mssql, e colocar o pconnect para FALSE.

Remover index.php Code Igniter Etc

Olá, espero com este post auxiliar iniciantes em Code Igniter a remover o index.php da url de seus sites, com os passos que segui para resolver na minha máquina.

Primeiro segui os passos do blog TIDoc, criação do .htaccess e ajustes no config.php do CI. Quase deu certo, sigam eles também:

1. Habilitar o ModRewrite no Apache

Abra o httpd.conf e descomente a linha LoadModule rewrite_module modules/mod_rewrite.so e reinicie o apache.

No meu caso, Ubuntu 13.04, fiz isso através dos seguintes comandos, inspirado pelo posto do Tiago Passos:
 

2.  htaccess

Crie um .htaccess na raiz do seu projeto. O arquivo deve estar no mesmo nível da pasta system.

Muita atenção com as barras (/). A maioria das dicas e tutoriais que você vai encontrar por ai leva em conta que seu projeto está no document root e não em um alias (diretório virtual). Se você estiver usando um diretório virtual use o RewriteBase para indicar qual a url base de seu projeto e em RewriteRule remova a barra da frente de index.php para indicar que o arquivo não está na raiz do servidor (document root) e sim no diretório virtual.


3. config.php

É necessário alterar uma linha do config.php na pasta application. 
Altere a linha $config['index_page'] = "index.php" para $config['index_page'] = "".

Bom, teoricamente você terminou aqui. No meu caso aconteceram dois problemas, primeiro que nas configurações do meu diretório virtual não estava permitindo executar as regras, então executei o seguinte comendo para abrir o arquivo de configurações:

E alterei as configurações para permitir as regras do .htaccess, trocando AllowOverride "none" por "All":

    <Directory /home/bolivar/sites/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>


No final das contas, após reiniciar o Apache, quebrou todos os links para CSS, JS imagens etc, consegui resolver adicionando a seguinte linha no .htaccess

RewriteRule ^assets/ - [L,NC]

Então meu arquivo .htaccess final ficou assim:

Com isso, consegui resolver na minha máquina local, agora ainda preciso ver se vai funcionar no servidor do cliente...

Documentação sobre .htaccess, RewriteRules e outras inspirações:
1 - http://httpd.apache.org/docs/2.2/howto/htaccess.html
2 - http://httpd.apache.org/docs/current/mod/mod_rewrite.html
3 - http://httpd.apache.org/docs/current/rewrite/intro.html
4 - http://tidoc.wordpress.com/2009/08/12/codeigniter-remover-index-php-da-url/
5 - http://blog.tiagopassos.com/2011/04/21/configurando-o-mod_rewrite-do-apache2-no-ubuntu-linux/

E recomendo também as video aulas em:
1 - http://net.tutsplus.com/sessions/codeigniter-from-scratch/

Configurando diretórios httpd.conf Alias Apache 2.x

Após instalar os softwares na sua máquina como Apache, PHP, MySQL e alguma IDE como Netbeans ou Eclipse, muitos tem dificuldades em alterar algumas configurações do Apache, antigamente quando aprendi configurar isso o Apache estava sei lá em qual versão e após muito tempo sem usar essa semana eu também fiquei um pouco perdido, pois o arquivo httpd.conf que eu constumava alterar estava vazio.

Bom, dei uma olhada nos outros arquivos e vi que isso foi feito apenas por questões de organização e pra evitar que nós façamos alguns charques e alterar o que não devemos alterar, basicamente este arquivo está sendo incluído dentro de outro agora.

Em resumo, você faz a mesma coisa que antigamente, pra dizer ao apache que quando você acessar "http://localhost/netbeans" ele deve pegar os arquivos lá em "/home/bolivar/NetBeansProjects/" você escreve dentro do arquivo /etc/apache2/httpd.conf o tal do Alias conforme o exemplo abaixo, precisa ser root.

Pra abrir o arquivo com root, abra o terminal.

Poder de root
sudo su

Editar arquivo no gedit
gedit /etc/apache2/httpd.conf

Agora crie o alias pelo gedit, moleza né!
Alias /netbeans/ "/home/bolivar/NetBeansProjects/"

< Directory "/home/bolivar/NetBeansProjects">
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</ Directory>

Cuidado, tira o espaço no < Directory ... e ao fechar a tag </ Directory>, tive que colocar espaço para aparecer no blog... Bom. pra que esta mudança faça efeito reinicie o Apache, os comandos são (Ubuntu/Mint):

Reiniciar
/etc/init.d/apache2 restart

Também pode desligar/ligar, dá no mesmo
/etc/init.d/apache2 stop
/etc/init.d/apache2 start

Agora ao digitar "http://localhost/netbeans" seu navegador vai exibir os diretórios com seus projetos do Netbeans.

Quando você criar um novo projeto PHP no Netbeans já configure ele pro caminho certo, na Project URL adicione após o localhost o alias/apelido que você botou no apache,, ai quando você rodar o site (F6 no NetBeans) ele já vai rodar certinho, olha o print abaixo.


Sobre o arquivo httpd.conf, se você estiver usando Windows acredito que precisa inverter as barras (/), usa contra barra (\). Qualquer coisa comentem ai.