talvez precise sudo apt install -y mongodb
e então o passo abaixo
primeiro método
$ sudo apt-get install php-dev
$ sudo apt-get install libcurl4-openssl-dev pkg-config libssl-dev
$ sudo apt-get install php-pear
$ sudo pecl install mongodb
$ sudo systemctl restart apache2
ver se tem o extension=mongodb.so
no arquivo php.ini /etc/php/7.2/cli/php.ini
o comando abaixo deveria fazer isso de modo automático
echo "extension=mongodb.so" >> `php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||"`
depois disso pode ser necessário fazer sudo apt install php-mongodb
, mas testar antes.
pra remover algum antigo, usar sudo pecl uninstall mongodb
antes de instalar o novo (linha 3 acima)
segundo método
$ cd ~
$ git clone https://github.com/mongodb/mongo-php-driver.git
$ cd mongo-php-driver
$ git submodule sync && git submodule update --init
$ phpize (php-dev)
$ ./configure
$ make all -j 5
$ sudo make install
pra ver as versões rodando
$ php --ri mongodb | grep version
Poderia retornar algo como: ??
MongoDB extension version => 1.5.5 libbson bundled version => 1.13.0 libmongoc bundled version => 1.13.0
E mongod --version
db version v3.6.3 git version: 9586e557d54ef70f9ca4b43c26892cd55257e1a5 OpenSSL version: OpenSSL 1.1.1 11 Sep 2018 allocator: tcmalloc modules: none build environment: distarch: x86_64 target_arch: x86_64
outro comando seria sudo apt-cache policy php-mongodb
ou php -m
Composer serve como um gerenciador de pacotes do PHP, permitindo um arquivo de configuração listar as dependências e as mesmas assim podem ser instaladas rapidamente.
Os comandos a seguir instalam a última versão puxando direto do site (pelo apt install é uma versão dois anos mais antiga, as vezes). O comando também verifica a integridade do arquivo.
$ sudo apt install wget php-cli php-zip unzip
$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
$ HASH="$(wget -q -O - https://composer.github.io/installer.sig)"
$ php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
$ sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
Agora que foi instalado com sucesso, vamos mostrar a última versão. As vezes o comando pode precisar de sudo
dependendo do user logado.
$ composer
Instalar o executável e o gerenciador de pacotes
$ sudo apt install -y nodejs npm
Este é o server, que consegue fazer a transferência de rede de dados e ser alvo de host. É necessário ele para então depois usar um _publisher
ou _subscribe
$ sudo apt install mosquitto
$ sudo systemctl enable mosquitto
$ sudo systemctl status mosquitto
Isso serve para se inscrever em um servidor de mqtt (como o mosquitto server) e então ficar escutando mensagens com o namespace desejado. Ao escutar uma que se encaixe, salva isso num banco MongoDB configurado. Isso precisa de NodeJS e MongoDB configurado na máquina local (ou o mongo em server online).
$ cd ~
$ git clone https://github.com/lunodrade/mqtt-mongo-recorder.git
$ cd mqtt-mongo-recorder
$ npm install
$ MQTT_HOSTNAME="localhost" node server.js &
Biblioteca para acessar o banco de dados MySQL por meio de interface web.
$ sudo apt install phpmyadmin php-mbstring php-gettext php-xml
- Ao ser perguntado sobre para qual server será configurado, observe que ele já sei destacado porém não selecionado, tenha certeza de selecionar o Apache2 e só depois dar ok.
- Selecione Yes na segunda pergunta, sobre configurar
dbconfig-common
. - Depois por último configure uma senha que será usada para acessar a interface web de phpmyadmin.
Ativar a extensão mbstring
do php e então reiniciar o server Apache2
$ sudo phpenmod mbstring
$ sudo systemctl restart apache2
Agora você pode acessar atráves de http://localhost/phpmyadmin
Se você não tiver acesso, pode ser porque houve erro no momento da autoconfiguração (quando tinha que selecionar o server), então corrija isso do seguinte modo:
$ sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
$ sudo a2enconf phpmyadmin.conf
$ sudo service apache2 reload
Agora você deve ter acesso.
Por fim, melhorar a segurança de acesso ao phpmyadmin, editando o arquivo com o texto logo abaixo. Prestando atenção na linha AllowOverride All
.
$ sudo nano /etc/apache2/conf-available/phpmyadmin.conf
<Directory /usr/share/phpmyadmin>
Options FollowSymLinks
DirectoryIndex index.php
AllowOverride All
. . .
Salve o arquivo e reinicie o Apache2:
$ sudo systemctl restart apache2
Isso permite o uso de .htaccess
pela aplicação, então edite ela com o conteúdo logo abaixo:
sudo nano /usr/share/phpmyadmin/.htaccess
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user
- AuthType Basic: Tipo de autenticação, no caso por senha usando arquivo.
- AuthName: Mensagem no dialogo de autenticação.
- AuthUserFile: Arquivo que guarda a senha, mantenha isso fora dos arquivos que são servidos online.
- Require valid-user: Isto força que somente usuários autenticados tenham acesso ao phpmyadmin.
Criando um arquivo/usuário para esse acesso agora:
$ sudo htpasswd -c /etc/phpmyadmin/.htpasswd nomedousuario
Obs: para criar outros usuários extras, não use a flag -c
neles, e usando outro nomedousuario
de escolha.