Embora proprietário o banco de dados SQL Server é robusto e muito popular entre as soluções desenvolvidas atualmente. Neste tutorial iremos instalar um servidor web (PHP
+ apache
) com suporte a bancos de dados SQL Server em um servidor Linux.
Para executar este tutorial, você precisa ter um servidor Linux e um ambiente com o banco de dados SQL Server. Não faz parte deste tutorial ensinar como instalar o banco de dados. Esse tutorial será desenvolvido utilizando uma imagem Ubuntu 18.04.
Com os pré-requisitos atendidos podemos iniciar a instalar os pacotes necessários, começaremos instalando o ambiente WEB e depois o suporte ao banco de dados SQL Server. Os comandos abaixo irão utilizar o Apache como servidor web:
#Atualizar os repositórios
sudo apt-get update
# Instalar apache e dependências
# Durante a instalação dos pacotes do apache é possível que você seja questionado sobre uma configuração de
# e-mails, selecione a opção `No configuration`
apt-get --yes install build-essential autoconf flex bison \
apache2 apache2-dev libapache2-mod-evasive apache2-utils \
libjpeg8 libjpeg8-dev libpng16-16 libpng-dev \
zlibc zlib1g zlib1g-dev libxml2 libxml2-dev \
libmcrypt-dev libmcrypt4 mcrypt openssl libssl-dev libssl1.1 \
libgd-dev \
libgdchart-gd2-xpm libgdchart-gd2-xpm-dev \
vim curl libcurl4 libcurl4-openssl-dev \
libfreetype6-dev libreadline7 libreadline-dev sqlite3 \
rpl zip libzip-dev libbz2-dev unzip libaio1 libldap2-dev pwgen \
unixodbc unixodbc-bin unixodbc-dev s3cmd \
#Instalar instalar o PHP
sudo apt-get install php libapache2-mod-php php-pear php-dev
Apache
Ao terminar de instalar os pacotes podemos verificar se eles estão funcionando conforme o esperado, para testar o apache acesse o seu servidor pelo navegador:
# No meu caso eu usei o acesso pela rede
http://192.168.10.13
O resultado esperado é a conhecida página → Apache2 Ubuntu Default Page
.
PHP
Para verificar se o PHP
está instalado digite em um terminal do servidor:
php -v
O comando acima irá exibir a versão atual do PHP
no servidor.
Executar os comandos abaixo como root:
curl -s https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
bash -c "curl -s https://packages.microsoft.com/config/ubuntu/18.04/prod.list > /etc/apt/sources.list.d/mssql-release.list"
apt-get update
ACCEPT_EULA=Y apt-get -y install msodbcsql17 mssql-tools
# Driver Sql Server
pecl channel-update pecl.php.net
pecl install sqlsrv
pecl install pdo_sqlsrv
Com os pacotes devidamente instalados, ainda devemos realizar algumas configurações adicionais, execute os comandos abaixo com usuário root:
# Habilitar htaccess e links simbolicos
rpl -e "<Directory /var/www/>\n\tOptions Indexes FollowSymLinks\n\tAllowOverride None" \
"<Directory /var/www/>\n\tOptions FollowSymLinks\n\tAllowOverride All" \
/etc/apache2/apache2.conf
echo "LimitRequestLine 100000" >> /etc/apache2/apache2.conf
#Habilitar módulos
a2dismod mpm_event
a2dismod mpm_worker
a2enmod mpm_prefork
a2enmod rewrite
echo "extension=pdo_sqlsrv.so" >> /etc/php/7.2/apache2/conf.d/30-pdo_sqlsrv.ini
echo "extension=sqlsrv.so" >> /etc/php/7.2/apache2/conf.d/20-sqlsrv.ini
echo extension=pdo_sqlsrv.so >> `php --ini | grep "Scan for additional .ini files" | sed -e "s|.*:\s*||"`/30-pdo_sqlsrv.ini
echo extension=sqlsrv.so >> `php --ini | grep "Scan for additional .ini files" | sed -e "s|.*:\s*||"`/20-sqlsrv.ini
service apache2 restart