{"id":725,"date":"2014-04-06T02:37:14","date_gmt":"2014-04-06T05:37:14","guid":{"rendered":"http:\/\/www.viazap.com.br\/?p=725"},"modified":"2014-04-06T02:37:14","modified_gmt":"2014-04-06T05:37:14","slug":"servidor-de-midia-com-128-mb-de-ram","status":"publish","type":"post","link":"https:\/\/blog.clusterweb.com.br\/?p=725","title":{"rendered":"Servidor de M\u00eddia com 128 MB de RAM"},"content":{"rendered":"<table width=\"100%\" border=\"0\" cellspacing=\"3\" cellpadding=\"3\">\n<tbody>\n<tr>\n<td colspan=\"2\"><b>A ideia<\/b><\/p>\n<div>Aposentando CDs, USB, etc.<\/p>\n<p>Essa ideia come\u00e7ou quando eu me deparei com um Laptop muito antigo, que a minha esposa tinha guardado no &#8220;sarc\u00f3fago&#8221; chamado por\u00e3o. Esse Laptop \u00e9 t\u00e3o antigo que, quando eu vi, fiquei surpreso. Ela me disse que podia jogar fora, porque o sistema era o Windows 2000 e quando ela tentou instalar o Windows XP, ele n\u00e3o aguentou o upgrade. \ud83d\ude42<\/p>\n<p>Assim, eu pensei: &#8220;Um\u00a0<a href=\"http:\/\/www.vivaolinux.com.br\/linux\/\">GNU\/Linux<\/a>\u00a0vai rodar nesse museu&#8221;. E n\u00e3o \u00e9 que rodou? \ud83d\ude42<\/p>\n<p>Agora aqui vai a receita, caso voc\u00ea queira fazer o mesmo com o seu computador que j\u00e1 foi condenado pelos seus familiares. Caso voc\u00ea tenha um com mais recursos, \u00e9 claro que ser\u00e1 melhor, por\u00e9m, o meu foco \u00e9 deixar o sistema com o m\u00ednimo de carga na mem\u00f3ria e ainda assim, lidar com arquivos de filmes em HD e m\u00fasicas com 320 kb (qualidade de CD High Definition), fotos em formato digital sem &#8220;maquiagem&#8221;, direto da c\u00e2mera para o seu servidor.\u00a0<!--more--><\/p>\n<p>Para isso, vamos usar os seguintes softwares:<\/p>\n<ul>\n<li>CrunchBang\u00a0<a href=\"http:\/\/www.vivaolinux.com.br\/linux\/\">Linux<\/a>;<\/li>\n<li>Apache;<\/li>\n<li>MySQL;<\/li>\n<li>MediaTomb;<\/li>\n<li>Webmin;<\/li>\n<li>ssh-server.<\/li>\n<\/ul>\n<p>E o seguinte Hardware, na teoria&#8230;<\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/schema.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_schema.png\" width=\"500\" height=\"375\" border=\"0\" \/><\/a><\/div>\n<ul>\n<li>Laptop Sony &#8220;V\u00c9IO&#8221; VAIO PCG600 HEK 850 Mhz P3 &#8211; 128 MB RAM &#8211; 20 GB de HD<\/li>\n<li>2 HD externos (1 TB e 500 GB);<\/li>\n<li>1 Roteador sem fio.<\/li>\n<\/ul>\n<p>Quantos dispositivos forem necess\u00e1rios para acessar o conte\u00fado, no meu caso, eu estarei usando e explicando como usar:<\/p>\n<ul>\n<li>1 PS3;<\/li>\n<li>1 Sangsung Galaxy S4;<\/li>\n<li>1 Acer Iconia A500 (Android tablet velhinho);<\/li>\n<li>1 Computadores na rede;<\/li>\n<li>1 TV. \ud83d\ude42<\/li>\n<\/ul>\n<p>Sendo que a TV deve ser das atuais, que conectam na rede ou alguma que voc\u00ea usa junto com um dispositivo que conecte \u00e0 Internet, como o Xbox ou PS3. Caso a sua TV n\u00e3o tenha entrada para cabo RJ45 (de rede), VGA, RCA ou HDMI, voc\u00ea n\u00e3o vai poder assistir em sua TV.<\/p>\n<p>Por\u00e9m, n\u00e3o \u00e9 o fim do mundo, voc\u00ea pode assistir em um dos outros dispositivos aqui mencionados, mas, por favor, aproveite que j\u00e1 fazem 2 anos que a profecia do calend\u00e1rio Maia deu errado e compre uma TV melhor. \ud83d\ude09<\/p>\n<p>Embora eu saiba que \u00e9 poss\u00edvel usar o iTunes, iPad e iPhone, eu n\u00e3o tenho esses dispositivos, por\u00e9m, se voc\u00ea tem e quiser comentar qual aplica\u00e7\u00e3o e como fazer para acessar o conte\u00fado, fique \u00e0 vontade para postar o seu coment\u00e1rio.<\/p>\n<p>O nosso objetivo final, seria mais ou menos como esse:<\/p>\n<p>Na pr\u00e1tica&#8230;<\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/Server-settings.jpg\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_Server-settings.jpg\" width=\"500\" height=\"375\" border=\"0\" \/><\/a><\/div>\n<p>Claro, se voc\u00ea quiser manter esse monte de fio de maneira mais organizada em sua sala, a esposa agradece. \ud83d\ude42<\/p>\n<\/div>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\"><b>O plano<\/b><\/p>\n<div>Primeiro, vamos come\u00e7ar com as instala\u00e7\u00f5es.<\/p>\n<p>Lembrando que se trata de um computador com recursos limitados, eu vou instalar as aplica\u00e7\u00f5es e fazer altera\u00e7\u00f5es em todas elas, para que rodem de forma satisfat\u00f3ria nesse ambiente.<\/p>\n<p>Por\u00e9m, se voc\u00ea tem um computador com mais recursos, n\u00e3o precisa seguir esse artigo \u00e0 risca, voc\u00ea pode instalar as aplica\u00e7\u00f5es e n\u00e3o aplicar as altera\u00e7\u00f5es que eu vou fazer, porque em mat\u00e9ria de instala\u00e7\u00e3o e bem direto\u00a0<span>apt-get install<\/span>\u00a0e j\u00e1 era!!!<\/p>\n<p>Se voc\u00ea est\u00e1 no mesmo barco que eu e tem um computador limitado, por favor, procure fugir das suas distros preferidas e aventure-se em um mundo, talvez, desconhecido.<\/p>\n<p>Eu sei que existe uma multid\u00e3o de usu\u00e1rios do Ubuntu lendo esse artigo e eu digo sem ofensas, o Ubuntu \u00e9 muito carregado para esse ambiente de 128 MB, voc\u00ea pode at\u00e9 dizer que vai rodar sem o X11, mas acredite, mesmo sem o X11, se voc\u00ea instalar um Ubuntu aqui, voc\u00ea n\u00e3o vai ter o desempenho total que voc\u00ea poderia ter com outra distro. Por favor, n\u00e3o atire a primeira pedra sem antes testar o que eu estou falando.<\/p>\n<p>Antes de decidir qual\u00a0<a href=\"http:\/\/www.vivaolinux.com.br\/linux\/\">GNU\/Linux<\/a>\u00a0usar nesse computador, eu fiz o teste com tr\u00eas distros; eu tentei instalar mais que tr\u00eas, por\u00e9m, sempre esbarrava em alguma coisa que n\u00e3o funcionava, monitor, mouse, rede sem fio, etc. As \u00fanicas tr\u00eas distros que rodaram sem problemas, foram Debian Squeeze, CrunchBang e ArchBang.<\/p>\n<p>Minha opini\u00e3o final \u00e9 a seguinte:<\/p>\n<ul>\n<li>Debian :: apesar de rodar nesse ambiente, n\u00e3o \u00e9 o mais apropriado se voc\u00ea n\u00e3o o conhece, pois ele vai precisar de algumas configura\u00e7\u00f5es extras.<\/li>\n<li>CrunchBang :: excelente para esse ambiente, \u00e9 uma alternativa para quem vem da fam\u00edlia do Ubuntu, apesar do Crunch n\u00e3o ser baseado no Ubuntu, ele \u00e9 baseado no pai do Ubuntu, o Debian. Por\u00e9m, ele \u00e9 mais pr\u00e9-configurado que o Debian.<\/li>\n<li>ArchBang :: se voc\u00ea n\u00e3o tem medo de experimentar algo novo e quer o m\u00e1ximo de proveito da sua m\u00e1quina, Arch \u00e9 o sistema para voc\u00ea.<\/li>\n<\/ul>\n<p>Caso contr\u00e1rio, voc\u00ea prefere n\u00e3o se aventurar, quer uma coisa mais segura no sentido que voc\u00ea sabe o que est\u00e1 fazendo e quer evitar recorrer ao Google toda vez que esbarrar em problemas, mantenha-se com o Crunch.<\/p>\n<p>Eu vou explicar \u00e0 maneira do CrunchBang, bem que eu gostaria de ensinar \u00e0 maneira Arch, por\u00e9m, como o Arch \u00e9 um mundo novo para mim e eu estou ensinando, \u00e9 melhor evitar falar besteira. Eu vou explicar a maneira que eu j\u00e1 sei.<\/p>\n<p>Caso algu\u00e9m queira comentar a respeito do Arch, os problemas que eu enfrentei foram somente dois: um, eu n\u00e3o consegui converter o script de inicializa\u00e7\u00e3o para o systemd para fazer da aplica\u00e7\u00e3o um servi\u00e7o do sistema e, o segundo problema, \u00e9 que ao fazer um\u00a0<span>pacman -Syyu<\/span>, eu quebrei o meu sistema. \ud83d\ude41<\/p>\n<p>Mas uma coisa \u00e9 certa, tudo o que eu estou fazendo aqui, \u00e9 poss\u00edvel ser feito em todas as distros, caso voc\u00ea tenha um Gentoo, Arch, Sabayon, etc, voc\u00ea sabe como converter os scripts de inicializa\u00e7\u00e3o de servi\u00e7os para systemd, v\u00e1 em frente. Se alguma aplica\u00e7\u00e3o aqui indicada, n\u00e3o tem um bin\u00e1rio no seu reposit\u00f3rio, veja o site do criador do software, l\u00e1 voc\u00ea vai ter acesso ao c\u00f3digo-fonte e pode compilar.<\/p>\n<p>Para instalar o CrunchBang, siga as instru\u00e7\u00f5es pelo nosso amigo VOLeiro &#8220;Removido&#8221;. S\u00e9rio, \u00e9 esse nome mesmo, e de acordo com o perfil dele, ele tem 113 anos de experi\u00eancia. \ud83d\ude42<\/p>\n<ul>\n<li><a href=\"http:\/\/www.vivaolinux.com.br\/artigo\/CrunchBang-Backported-Instalacao-e-Configuracao\/\">CrunchBang Backported &#8211; Instala\u00e7\u00e3o e Configura\u00e7\u00e3o [Artigo]<\/a><\/li>\n<\/ul>\n<p><span>MediaTomb<\/span>\u00a0&#8211; \u00e9 o nosso programa principal que vai fazer o Stream do conte\u00fado na rede, portanto, todo o poder da RAM vai ser exclusivo dele, n\u00e3o vamos limitar ele, correto?<\/p>\n<p>ERRADO, ele \u00e9 sim a pe\u00e7a mais importante, por\u00e9m, vamos limit\u00e1-lo. Nada de transcoding ou escaneamento por inodes, no caso de voc\u00ea ter mais de 1000 m\u00eddias no seu HD, aposente o SQLite e use o MySQL. Eu sei que tem gente que vai dizer que isso n\u00e3o faz sentido, por\u00e9m, isso faz sim.<\/p>\n<p><span>MySQL<\/span>\u00a0&#8211; o banco de dados MySQL usa mais recursos que o SQLite em base de dados com poucas entradas, para tal, o SQLite \u00e9 melhor, por\u00e9m, se voc\u00ea tem uma base de dados que passam de 1000 entradas, os valore se invertem e o SQLite come\u00e7a a empacar. Assim sendo, vamos usar o MySQL com recursos reduzidos.<\/p>\n<p>Eu sei que o MySQL \u00e9 mais cheio de bugs que o SQLite, por\u00e9m, os dados armazenados ser\u00e3o links para m\u00eddia, ou seja, se um ficar errado, \u00e9 s\u00f3 recarregar a database e pronto, links ser\u00e3o corrigidos.<\/p>\n<p><span>Apache<\/span>\u00a0&#8211; o mais experiente dos servidores. Nessa escolha, voc\u00ea pode at\u00e9 dizer que eu falhei, pois existem forks do Apache que s\u00e3o melhores. Alguns podem at\u00e9 citar nomes, como Cherokee, lighttpd, thttpd, etc. Por\u00e9m, aqui, eu preferi uma t\u00e1tica mais segura.<\/p>\n<p>J\u00e1 que eu n\u00e3o conhe\u00e7o outro servidor HTTP, eu preferi me manter seguro no que eu j\u00e1 conhe\u00e7o e n\u00e3o me aventurar, assim sendo, eu vou reduzir os recursos do Apache tamb\u00e9m.<\/p>\n<p>Como voc\u00ea pode ver pela explica\u00e7\u00e3o que eu dou, esse artigo e bem modulado, quer dizer, tem coisas que eu vou falar aqui que podem ser ignoradas e outras que podem ser aprimoradas, se voc\u00ea encontrar alguma configura\u00e7\u00e3o que faz o trabalho melhor que o que eu apresento aqui, por favor, poste seu coment\u00e1rio e enrique\u00e7a o artigo.<\/p>\n<\/div>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\"><b>Instalando o sistema<\/b><\/p>\n<div>N\u00e3o vou cobrir aqui a instala\u00e7\u00e3o do CrunchBang, porque ela j\u00e1 \u00e9 muito bem documentada e f\u00e1cil, assim sendo, se voc\u00ea j\u00e1 sabe, instale e siga as instru\u00e7\u00f5es aqui, logo ap\u00f3s a instala\u00e7\u00e3o.<\/p>\n<p>Caso voc\u00ea n\u00e3o saiba instalar uma distro em seu computador, observe aqui mesmo no site, l\u00e1 em cima na barra onde tem o logo do VOL, ao lado direito tem uma caixinha do Google, aquela caixinha vai ser a sua melhor amiga. \ud83d\ude42<\/p>\n<p>Digite ali que voc\u00ea quer &#8220;instalar crunchbang&#8221; e clique em &#8220;Buscar&#8221;&#8230; tchan-tchan-tchan-tchaaaaan!!! Ou voc\u00ea pode ver na p\u00e1gina anterior, o link para o artigo.<\/p>\n<p>Instalando o software no CrunchBang \u00e9 muito f\u00e1cil, tao f\u00e1cil que, na primeira inicializa\u00e7\u00e3o do sistema, j\u00e1 tem um script que abre caminhos para voc\u00ea instalar quase todos os programas que vamos usar aqui.<\/p>\n<p>Caso voc\u00ea perdeu essa chance, voc\u00ea pode rodar o script quantas vezes for necess\u00e1rio:<\/p>\n<p><strong>$ cb-welcome<\/strong><\/p>\n<p>Esse simples comando vai dar conta do recado. Lembre-se, n\u00e3o fique ansioso e queira instalar tudo, esse sistema \u00e9 tem recursos limitados. N\u00e3o instale coisas que n\u00e3o ser\u00e3o necess\u00e1rias, como LibreOffice, Java, etc.<\/p>\n<p>Assim sendo, quando o script for iniciado, siga as seguintes instru\u00e7\u00f5es:<\/p>\n<p>* Aten\u00e7\u00e3o: dependendo da vers\u00e3o do script, a ordem da instala\u00e7\u00e3o pode ser diferente, por\u00e9m, se voc\u00ea aprender quais pacotes eu indico para instalar, se aparecer a op\u00e7\u00e3o para tal, aceite. Caso contr\u00e1rio, rejeite:<\/p>\n<ul>\n<li>Aperte\u00a0<span>Enter<\/span>\u00a0para continuar ao aparecer a introdu\u00e7\u00e3o do script;<\/li>\n<li><span>Enter<\/span>\u00a0para fazer o update;<\/li>\n<li><span>Enter<\/span>\u00a0para o upgrade da distro;<\/li>\n<li><span>S<\/span>\u00a0para\u00a0<span>Skip<\/span>\u00a0(Pular) a instala\u00e7\u00e3o do CUPs e &#8220;amigos&#8221;;<\/li>\n<li>S para LibreOffice;<\/li>\n<li><span>Enter<\/span>\u00a0para SSH;<\/li>\n<li><span>S<\/span>\u00a0para Xfce Desktop;<\/li>\n<li><span>Enter<\/span>\u00a0para pacotes de desenvolvimento;<\/li>\n<li><span>S<\/span>\u00a0para Git e &#8220;amigos&#8221;;<\/li>\n<li><span>Enter<\/span>\u00a0para SSH-Server;<\/li>\n<li><span>Enter<\/span>\u00a0para LAMP;<\/li>\n<li><span>Enter<\/span>\u00a0uma nova senha para o root do MySQL duas vezes (n\u00e3o \u00e9 a mesma senha do\u00a0<span>root<\/span>\u00a0do sistema, essa senha \u00e9 para a base de dados);<\/li>\n<li>Se aparecer a configura\u00e7\u00e3o para o Apache, voc\u00ea quer ele escutando na porta 80 e ligado ao IP\u00a0<span>127.0.0.1<\/span>, que \u00e9 o padr\u00e3o;<\/li>\n<li><span>Enter<\/span>\u00a0para pacotes de ambiente.<\/li>\n<\/ul>\n<p>Depois de feito isso, vamos \u00e0s demais depend\u00eancias para instalar o MediaTomb:<\/p>\n<p><strong>$ sudo apt-get install wget libextractor ffmpeg ffmpegthumbnailer libexif mysql<br \/>\n$ sudo \/etc\/init.d\/mysqld start<\/strong><\/p>\n<p>Agora, digite:<\/p>\n<p><strong>$ sudo apt-get install mediatomb<\/strong><\/p>\n<p>No final da instala\u00e7\u00e3o, vir\u00e1 uma mensagem dizendo para voc\u00ea ajustar no\u00a0<span>config<\/span>\u00a0a tag\u00a0<span>&lt;ui enabled=no&gt;<\/span>, n\u00e3o siga esse exemplo ainda, pois vamos usar a interface da WEB para configurar nosso MediaTomb.<\/p>\n<p>Inicie o MediaTomb pela primeira vez, digitando no terminal:<\/p>\n<p><strong>$ mediatomb<\/strong><\/p>\n<p>Uma vez iniciado, aperte\u00a0<span>Ctrl+c<\/span>\u00a0para terminar. Essa inicia\u00e7\u00e3o, foi para criar os arquivos na pasta do seu usu\u00e1rio, assim, voc\u00ea pode configurar ele depois. Agora, vamos iniciar como daemon, que permite ao programa ser usado por todos os usu\u00e1rios do sistema:<\/p>\n<p><strong>$ sudo \/etc\/init.d\/mediatomb start<\/strong><\/p>\n<p>Pronto, agora voc\u00ea vai checar o\u00a0<span>\/var\/log\/mediatomb.log<\/span>, e ali, voc\u00ea vai ver a mesma mensagem que voc\u00ea viu da primeira vez que iniciou o MediaTomb. S\u00f3 que agora, voc\u00ea j\u00e1 tem um config criado para ele, permitindo que fa\u00e7amos algumas altera\u00e7\u00f5es para o usu\u00e1rio comum, ou seja, voc\u00ea.<\/p>\n<p>Com o seu editor preferido, abra\u00a0<span>~\/.mediatomb\/config.xml<\/span>, ou para todos os usu\u00e1rios do sistema, em\u00a0<span>${diret\u00f3rio de instala\u00e7\u00e3o}\/mediatomb\/config.xml<\/span>. Em algumas distros, esse diret\u00f3rio de instala\u00e7\u00e3o est\u00e1 em\u00a0<span>\/var\/lib<\/span>, em outros est\u00e1 em\u00a0<span>\/usr\/share<\/span>, por\u00e9m, o padr\u00e3o mais usado \u00e9\u00a0<span>\/etc\/mediatomb\/config.xml<\/span>.<\/p>\n<p>Para saber o seu, digite:<\/p>\n<p><strong>$ whereis mediatomb<\/strong><\/p>\n<h1>Webmin<\/h1>\n<p>Para n\u00e3o for\u00e7armos o nosso computador com o X11, vamos configurar ele usando outro computador conectado remotamente em uma interface WEB.<\/p>\n<p>Esse \u00e9 o Webmin, com ele, voc\u00ea configura o seu\u00a0<a href=\"http:\/\/www.vivaolinux.com.br\/linux\/\">GNU\/Linux<\/a>\u00a0sem precisar manualmente editar arquivos de texto, ou pain\u00e9is de controle que carregam a mem\u00f3ria do nosso velho amigo.<\/p>\n<p><strong>$ wget<\/strong>\u00a0<a href=\"http:\/\/prdownloads.sourceforge.net\/webadmin\/webmin_X.XXX_all.deb\">http:\/\/prdownloads.sourceforge.net\/webadmin\/webmin_X.XXX_all.deb<\/a><br \/>\n<strong>$ sudo dpkg -i webmin_X.XXX_all.deb<\/strong><\/p>\n<p>Onde\u00a0<span>X.XXX<\/span>, e a vers\u00e3o do software.\u00a0<span>1.680<\/span>\u00a0\u00e9 a vers\u00e3o atualizada no momento em que escrevo esse tutorial.<\/p>\n<p>Voc\u00ea pode encontrar a vers\u00e3o atual, em:<\/p>\n<ul>\n<li><a href=\"http:\/\/sourceforge.net\/projects\/webadmin\/files\/webmin\/\">Webmin &#8211; Browse \/webmin at SourceForge.net<\/a><\/li>\n<\/ul>\n<p>E para outras distros, no link:\u00a0<a href=\"http:\/\/www.webmin.com\/download.html\">Webmin \u00ab download<\/a><\/p>\n<\/div>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\"><b>Configura\u00e7\u00f5es<\/b><\/p>\n<h1>Configurando Apache<\/h1>\n<p>O Apache \u00e9 o servidor de p\u00e1ginas WEB que usaremos. Ele em si \u00e9 leve, por\u00e9m, se n\u00e3o for configurado bem em uma m\u00e1quina com recursos limitados, ele pode dar dor de cabe\u00e7a.<\/p>\n<p>As &#8220;dores&#8221; mais comuns, s\u00e3o:<\/p>\n<ul>\n<li>WSD (White Screen of Death) ou como \u00e9 mais conhecido: &#8220;Falta de mem\u00f3ria para o PHP&#8221;.<\/li>\n<li>MySQL falhando ao iniciar ou tendo o processo morto pelo sistema.<\/li>\n<li>MySQL n\u00e3o consegue criar uma nova inst\u00e2ncia e retorna com o erro de Pthread 11. Por n\u00e3o conseguir criar uma nova inst\u00e2ncia o MySQL, decide abortar o pedido de acesso \u00e0 base de dados.<\/li>\n<\/ul>\n<p>Para evitar esse tipo de problema, vamos configurar o Apache mudando o arquivo\u00a0<span>\/etc\/Apache\/conf\/httpd.conf<\/span>:<\/p>\n<div>MaxSpareServers 5<br \/>\nMinSpareServers 1<br \/>\nStartServers 3<\/div>\n<p>Caso voc\u00ea queira fazer mais ajustes, cheque esse documento:<\/p>\n<ul>\n<li><a href=\"http:\/\/httpd.apache.org\/docs\/2.2\/misc\/perf-tuning.html\">Apache Performance Tuning &#8211; Apache HTTP Server<\/a><\/li>\n<\/ul>\n<p>Verdade, eu estou te indicando a leitura do manual do Apache. \ud83d\ude42<\/p>\n<p>Infelizmente, n\u00e3o h\u00e1 uma tradu\u00e7\u00e3o em Portugu\u00eas desse manual ainda (at\u00e9 aonde eu sei, n\u00e3o h\u00e1, pode ser que algu\u00e9m, em algum canto da Internet, j\u00e1 traduziu.)<\/p>\n<h1>Configurando o MySQL<\/h1>\n<p>MySQL \u00e9 uma base de dados que cada vez cresce em n\u00fameros. Sites com tr\u00e1fico pesado, como Facebook, YouTube, Google, Wikipedia, etc, usam a base de dados MySQL porque, em si, ela n\u00e3o \u00e9 pesada. Por\u00e9m, quando voc\u00ea usa scripts malfeitos ou websites &#8220;prontos&#8221;, cheios de scripts e templates, como Joomla! e WordPress, o MySQL pode facilmente ter 10 chamadas \u00e0 base de dados em uma s\u00f3 p\u00e1gina que \u00e9 carregada.<\/p>\n<p>Vamos traduzir isso em MB: um RSS fazendo mais de 10 chamadas \u00e0 base de dados vai produzir um documento de 35 KB, mas, para gerar esse simples documento, ele pode consumir 25 MB de RAM s\u00f3 em processamento de dados.<\/p>\n<p>O que n\u00e3o \u00e9 t\u00e3o ruim, quando voc\u00ea tem um computador com bastante RAM. Agora, para o nosso experimento com 128 MB um RSS carregando 25% da mem\u00f3ria, como fica o armazenamento para os outros programas? Ent\u00e3o, vamos reduzir isso.<\/p>\n<p>Esses par\u00e2metros abaixo, s\u00e3o do meu\u00a0<span>\/etc\/mysql\/my.cnf<\/span>, se voc\u00ea quiser usar um exemplo j\u00e1 feito, pode encontrar na pasta \/<span>usr\/share\/doc\/my-server-5.0\/examples<\/span>, no caso dos &#8220;filhos&#8221; do Debian. \ud83d\ude42<\/p>\n<p>Caso em sua distro n\u00e3o exista esses exemplos, copie o meu\u00a0<span>my.cnf<\/span>:<\/p>\n<div>[mysqld]<br \/>\nport\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0= 3306<br \/>\nsocket\u00a0\u00a0\u00a0\u00a0\u00a0= \/var\/lib\/mysql\/mysql.sock<br \/>\nskip-locking<br \/>\nkey_buffer = 16K<br \/>\nmax_allowed_packet = 1M<br \/>\ntable_cache = 4<br \/>\nsort_buffer_size = 64K<br \/>\nread_buffer_size = 256K<br \/>\nread_rnd_buffer_size = 256K<br \/>\nnet_buffer_length = 2K<br \/>\nthread_stack = 64K<br \/>\nskip-bdb<br \/>\nskip-innodb<\/p>\n<p>[mysqldump]<br \/>\nquick<br \/>\nmax_allowed_packet = 16M<\/p>\n<p>[mysql]<br \/>\nno-auto-rehash<br \/>\n#safe-updates<br \/>\n[isamchk]<br \/>\nkey_buffer = 8M<br \/>\nsort_buffer_size = 8M<\/p>\n<p>[myisamchk]<br \/>\nkey_buffer = 8M<br \/>\nsort_buffer_size = 8M<\/p>\n<p>[mysqlhotcopy]<br \/>\ninteractive-timeout<\/p><\/div>\n<p>Foi adicionado o seguinte\u00a0<span>skip-bdb<\/span>\u00a0e\u00a0<span>skip-innodb<\/span>, assim, voc\u00ea n\u00e3o carrega o suporte para BSD DB ou InnoDB. J\u00e1 que ambos s\u00e3o \u00e1guas passadas, obsoletos, velhos, desnecess\u00e1rios para o nosso projeto.<\/p>\n<p><span>key_buffer<\/span>\u00a0tem somente 16 K, o que j\u00e1 \u00e9 mais que suficiente.\u00a0<span>key_buffer<\/span>\u00a0\u00e9 um dos par\u00e2metros mais importantes para as tabelas MyISAM; seria bom deixar com 1 MB, se voc\u00ea quer fazer um blog ou algo parecido, o que n\u00e3o \u00e9 o nosso caso, ent\u00e3o, deixe com 16 K.<\/p>\n<p>A mesma coisa para o\u00a0<span>table_cache &#8211; 4<\/span>\u00a0e muito pequeno para outro tipo de aplica\u00e7\u00e3o. Uma p\u00e1gina do WordPress vai chamar 10, facilmente; e muito mais no caso do Drupal ou MediaWiki. Nosso projeto n\u00e3o vai carregar nada parecido com esse tipo de website.<\/p>\n<p>Depois destes simples ajustes, o seu MySQL deve estar rodando com uma velocidade boa e carregando a mem\u00f3ria com menos dados. Se voc\u00ea fazer o teste com o RSS, puxando a informa\u00e7\u00e3o do MySQL, em vez de carregar com 25 MB, agora voc\u00ea vai ver que ele vai carregar com 5~6MB. Deixando assim, mais espa\u00e7o na RAM para as outras aplica\u00e7\u00f5es.<\/p>\n<h1>Configurando o MediaTomb<\/h1>\n<p>Vamos iniciar com o MySQL. Precisamos criar uma base de dados para o MediaTomb.<\/p>\n<p>Assim, vamos digitar no terminal:<\/p>\n<p><strong># mysql -u &lt;usuario&gt; -p<\/strong><br \/>\n<sub>mysql&gt;\u00a0mysql\u00a0-u\u00a0root\u00a0-p\u00a0<\/sub><\/p>\n<p>mysql&gt;\u00a0<strong>CREATE DATABASE nome-da-base-de-dados;<\/strong><br \/>\n<sub>\u00a0mysql&gt;\u00a0CREATE\u00a0DATABASE\u00a0mediatomb;\u00a0<\/sub><\/p>\n<p>mysql&gt;\u00a0<strong>GRANT ALL ON &lt;database name&gt;.* TO &#8216;&lt;user name&gt;&#8217;@'&lt;hostname&gt;&#8217; IDENTIFIED BY &#8216;&lt;password&gt;&#8217;;<\/strong><br \/>\n<sub>\u00a0mysql&gt;\u00a0GRANT\u00a0ALL\u00a0ON\u00a0mediatomb.*\u00a0TO\u00a0&#8216;mediatomb&#8217;@&#8217;%&#8217;\u00a0IDENTIFIED\u00a0BY\u00a0&#8216;suasenha&#8217;;\u00a0<\/sub><\/p>\n<p>mysql&gt;\u00a0<strong>flush privileges;<\/strong><br \/>\n<sub>\u00a0mysql&gt;\u00a0quit;\u00a0<\/sub><\/p>\n<p><strong># mysql [-u &lt;username&gt;] [-p] &lt;database name&gt; &lt; &lt;install prefix&gt;\/share\/mediatomb\/mysql.sql<\/strong><br \/>\n<sub>\u00a0mysql&gt;\u00a0mysql\u00a0-u\u00a0mediatomb\u00a0-p\u00a0mediatomb\u00a0&lt;\u00a0\/usr\/share\/mediatomb\/mysql.sql<br \/>\n[digite\u00a0a\u00a0senha\u00a0do\u00a0MediaTomb]\u00a0<\/sub><\/p>\n<p><strong>mysql&gt; mysql -u mediatomb -p mediatomb<\/strong><br \/>\n<sub>\u00a0[senha\u00a0do\u00a0MediaTomb,\u00a0no\u00a0meu\u00a0exemplo\u00a0&#8220;suasenha&#8221;]\u00a0<\/sub><\/p>\n<p>mysql&gt;\u00a0<strong>show tables;<\/strong><\/p>\n<p>Se at\u00e9 aqui voc\u00ea n\u00e3o recebeu nenhuma mensagem de erro e o resultado desses comandos foram:<\/p>\n<p><sub>\u00a0mt_autoscan<br \/>\nmt_cds_active_item<br \/>\nmt_cds_object<br \/>\nmt_internal_setting\u00a0<\/sub><\/p>\n<p>Parab\u00e9ns, voc\u00ea criou a base de dados para o MediaTomb no MySQL. Agora, vamos ativ\u00e1-la no pr\u00f3prio MediaTomb.<\/p>\n<p>Para sair do MySQL, digite:<\/p>\n<p>mysql&gt;\u00a0<strong>quit;<\/strong><\/p>\n<p>Para ajustar a configura\u00e7\u00e3o, abra o seu editor\u00a0<span>${diret\u00f3rio padr\u00e3o da distro}\/mediatomb\/config.xml<\/span>:<\/p>\n<p><strong>$ sudo nano \/etc\/mediatomb\/config.xml<\/strong><\/p>\n<p>* Aten\u00e7\u00e3o: n\u00e3o copie e cole o c\u00f3digo abaixo, leia o seu conf e ajuste como necess\u00e1rio. Vamos modificar onde existe e inserir onde n\u00e3o existe, os seguintes valores:<\/p>\n<div>&lt;protocolInfo extend=&#8221;yes&#8221;\/&gt;<br \/>\n&lt;ui enabled=&#8221;yes&#8221; poll-interval=&#8221;2&#8243; poll-when-idle=&#8221;no&#8221; show-tooltips=&#8221;yes&#8221;\/&gt;<br \/>\n&lt;accounts enabled=&#8221;yes&#8221; session-timeout=&#8221;30&#8243;\/&gt;<br \/>\n&lt;account user=&#8221;name&#8221; password=&#8221;password&#8221;\/&gt;<br \/>\n&lt;storage caching=&#8221;yes&#8221;&gt;<br \/>\n&lt;sqlite enabled=&#8221;no&#8221;&gt;<br \/>\n&lt;mysql enabled=&#8221;yes&#8221;\/&gt;<br \/>\n&lt;username&gt;mediatomb&lt;\/username&gt;<br \/>\n&lt;password&gt;suasenha&lt;\/password&gt;<br \/>\n&lt;database&gt;mediatomb&lt;\/database&gt;<br \/>\n&lt;ffmpegthumbnailer enabled=&#8221;no&#8221;&gt;<br \/>\n&lt;map from=&#8221;avi&#8221; to=&#8221;video\/divx&#8221;\/&gt;<br \/>\n&lt;map from=&#8221;ogg&#8221; to=&#8221;audio\/ogg&#8221;\/&gt;<br \/>\n&lt;lastfm enabled=&#8221;no&#8221;&gt;<br \/>\n&lt;virtual-layout type=&#8221;disabled&#8221;&gt;<br \/>\n&lt;extension-mimetype ignore-unknown=&#8221;yes&#8221; case-sensitive=&#8221;no&#8221;&gt;<br \/>\n&lt;transcoding enabled=&#8221;no&#8221;&gt;<br \/>\n&lt;treat mimetype=&#8221;audio\/ogg&#8221; as=&#8221;ogg&#8221;\/&gt;<\/div>\n<p>Se tem algum outro par\u00e2metro n\u00e3o mencionado aqui, deixe como est\u00e1.<\/p>\n<p>Pronto. Feita essas altera\u00e7\u00f5es, reinicie o MediaTomb:<\/p>\n<p><strong>$ sudo \/etc\/init.d\/mediatomb restart<\/strong><\/p>\n<p>Tendo reiniciado com sucesso, abra o seu navegador em:<\/p>\n<p><strong>http:\/\/localhost:49152<\/strong><br \/>\nOu:<br \/>\n<strong>http:\/\/numero_do_ip:49152<\/strong><\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/mediatomb.jpg\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_mediatomb.jpg\" width=\"500\" height=\"378\" border=\"0\" \/><\/a><\/div>\n<p>Entre com o nome do usu\u00e1rio e a senha definidos no arquivo\u00a0<span>\/etc\/mediatomb\/config.xml<\/span>. Voc\u00ea deve, ent\u00e3o, estar na tela inicial, vendo duas op\u00e7\u00f5es no lado esquerdo da p\u00e1gina\u00a0<span>Database<\/span>\u00a0e\u00a0<span>File System<\/span>\u00a0na parte da database.<\/p>\n<p>N\u00e3o existe nada ainda, porque estaremos entrando os dados das pastas que o MediaTomb vai acessar. Clique em\u00a0<span>File System<\/span>\u00a0para acessar todo o sistema de arquivos do seu computador, navegue at\u00e9 a pasta que voc\u00ea quer compartilhar. No meu caso, eu tenho 2 HDs, um com v\u00eddeos e outro com fotos e m\u00fasicas.<\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/mediatomb2.jpg\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_mediatomb2.jpg\" width=\"500\" height=\"348\" border=\"0\" \/><\/a><\/div>\n<p>Eu vou ent\u00e3o navegar at\u00e9 as pastas de v\u00eddeos que eu quero compartilhar e, ao selecionar a pasta no canto direito, eu vou ter dois sinais de soma (+), um normal e outro com duas setas, dando a ideia de um ciclo, clique nesse sinal com o ciclo.<\/p>\n<p>Isso vai determinar que a pasta selecionada em um determinado tempo, ser\u00e1 escaneada pelo MediaTomb em procura de novos arquivos. Se algum arquivo teve o nome modificado, o MediaTomb, automaticamente, vai mudar o nome na database para que voc\u00ea continue tendo acesso ao arquivo.<\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/mediatomb4.jpg\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_mediatomb4.jpg\" width=\"500\" height=\"206\" border=\"0\" \/><\/a><\/div>\n<p>Em\u00a0<span>Scan Mode<\/span>, selecione\u00a0<span>Timed<\/span>, Inodify toma muito tempo e recursos do sistema. E Timed, vai determinar que, ao passar o intervalo determinado o escaneamento, ser\u00e1 reiniciado. Para garantir que todas as pastas abaixo da pasta seleciona sejam escaneadas, selecione\u00a0<span>Scan Level<\/span>\u00a0como\u00a0<span>Full<\/span>.<\/p>\n<p>Assim, assumindo a seguinte estrutura, ser\u00e1 automaticamente escaneada:<\/p>\n<div>\/Series\/IT Crowd\/Season 1\/Episodio 1.mp4<br \/>\n\/Series\/IT Crowd\/Season 2\/Episodio 1.mp4<\/div>\n<p>Nesse caso, selecionando\u00a0<span>Series<\/span>, todas as pastas depois disso n\u00e3o precisam ser configuradas. Agora, se entre as s\u00e9ries voc\u00ea s\u00f3 quer compartilhar o Season 2 do IT Crowd, ao inv\u00e9s de selecionar\u00a0<span>Series<\/span>, voc\u00ea deve navegar at\u00e9\u00a0<span>Season 2<\/span>\u00a0e aplicar ali a configura\u00e7\u00e3o.<\/p>\n<p>Deixe o\u00a0<span>Recursive<\/span>\u00a0e\u00a0<span>Include hidden<\/span>\u00a0a seu crit\u00e9rio. Eu aconselharia deixar o Recursive ligado e Hidden desligado.<\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/mediatomb3.jpg\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_mediatomb3.jpg\" width=\"500\" height=\"355\" border=\"0\" \/><\/a><\/div>\n<p>Depois disso confira que as pastas foram escaneadas e agora est\u00e3o dispon\u00edveis na op\u00e7\u00e3o Database no canto superior esquerdo.<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\"><b>HD como dispositivo permanente<\/b><\/p>\n<div>Depois de configurado, devemos colocar os HDs como dispositivos permanentes no computador, assims sempre que o MySQL procurar pelos arquivoss ele vai encontrars j\u00e1 que o HD n\u00e3o \u00e9 m\u00f3vel, por\u00e9m, instalado dentro do computador.<\/p>\n<p>Caso voc\u00ea n\u00e3o tem a coragem de abrir a capa do seu HD externo e ligar ele como interno, ou se voc\u00ea est\u00e1 no meu caso, voc\u00ea tem um Laptop e n\u00e3o h\u00e1 espa\u00e7o f\u00edsico para HDs internos, gracas a Deus voc\u00ea usa o\u00a0<a href=\"http:\/\/www.vivaolinux.com.br\/linux\/\">GNU\/Linux<\/a>, ent\u00e3o, voc\u00ea pode fazer o computador reconhecer o seu HD e montar ele automaticamente na pasta correta.<\/p>\n<p>Como fazer isso?<br \/>\nPrimeiro, vamos descobrir o n\u00famero \u00fanico de identifica\u00e7\u00e3o do seu HD. Ao conectar o USB do HD no computador, ser\u00e1 designado um dispositivo para ele.<\/p>\n<p>Para descobrir qual \u00e9, digite no terminal, logo depois de conectar o USB:<\/p>\n<p><strong># dmesg | grep sd | grep GB<\/strong><\/p>\n<p>Voc\u00ea ver\u00e1 algo identificando seu HD como\u00a0<span>sdX<\/span>, onde\u00a0<span>X<\/span>\u00a0\u00e9 uma letra qualquer selecionada pelo sistema. Para o nosso exemplo,\u00a0<span>sdb<\/span>.<\/p>\n<p><strong>* CUIDADO<\/strong>: voc\u00ea pode cometer algum erro nessa parte e identificar o HD errado, portanto, preste aten\u00e7\u00e3o qual \u00e9 o dispositivo correto para os seus HDs. Veja o tamanho de cada um listado, para saber com certeza qual \u00e9 qual.<\/p>\n<p>No terminal, digite:<\/p>\n<p><strong># blkid \/dev\/sdb1<\/strong><\/p>\n<p>Esse comado deve retornar algo como:<\/p>\n<p><sub>\u00a0\/dev\/sdb1:\u00a0UUID=&#8221;7fa9c421-0054-4555-b0ca-b470a97a3d84&#8243;\u00a0TYPE=&#8221;ext4&#8243;\u00a0<\/sub><\/p>\n<p>Algumas distros s\u00f3 autorizam os administradores do sistema usarem\u00a0<span>blkid<\/span>, caso sua distro seja uma delas, digite o\u00a0<span>sudo<\/span>\u00a0antes do comando.<\/p>\n<p>A parte importante aqui, \u00e9 o UUID do seu HD, vamos usar ele no\u00a0<span>\/etc\/fstab<\/span>. Na \u00faltima linha do arquivo\u00a0<span>\/etc\/fstab<\/span>, digite:<\/p>\n<div>UUID=&#8221;7fa9c421-0054-4555-b0ca-b470a97a3d84&#8243; \/media\/HD ext4 defaults,nobootwait,noatime 0 0<\/div>\n<p>O formato \u00e9:<\/p>\n<p>[UUID] [pasta para montar] [sistema de aquivo] [op\u00e7\u00f5es] [backup] [checar o sistema durante inicializa\u00e7\u00e3o]<\/p>\n<p>Considere que o meu HD j\u00e1 est\u00e1 formatado em\u00a0<span>ext4<\/span>, assim sendo, eu coloquei o sistema de arquivos como\u00a0<span>ext4<\/span>. Caso voc\u00ea n\u00e3o queira formatar o seu HD, por padr\u00e3o, ele deve ter o sistema de arquivos como NTFS. Assim, a entrada no\u00a0<span>fstab<\/span>\u00a0deveria ser assim:<\/p>\n<div>UUID=&#8221;7fa9c421-0054-4555-b0ca-b470a97a3d84&#8243; \/media\/HD ntfs defaults,uid=1000,gid=1000,dmask=022,nobootwait 0 0<\/div>\n<p>Permiss\u00f5es para NTFS e VFAT, devem ser configuradas por op\u00e7\u00f5es de\u00a0<span>dmask<\/span>,\u00a0<span>fmask<\/span>\u00a0and\u00a0<span>umask<\/span>.<\/p>\n<p>Onde:<\/p>\n<ul>\n<li><span>dmask<\/span>\u00a0controla as permiss\u00f5es dos diret\u00f3rios.<\/li>\n<li><span>fmask<\/span>\u00a0controla as permiss\u00f5es dos arquivos.<\/li>\n<li><span>umask<\/span>\u00a0controla os dois.<\/li>\n<\/ul>\n<p>Um truque para saber o valor num\u00e9rico das permiss\u00f5es para NTFS e VFAT: retire do valor 777, o valor da permiss\u00e3o que voc\u00ea quer no GNU\/Linux.<\/p>\n<p>Por exemplo,\u00a0<span>rwx<\/span>\u00a0para o dono dos arquivos e\u00a0<span>rw<\/span>\u00a0para os outros, em GNU\/Linux seria 755, ent\u00e3o, para o Windows, o equivalente seria:<\/p>\n<p>777 &#8211; 755 = 022<\/p>\n<p>Para fazer voc\u00ea ser o dono do dispositivo, use o UID e GID para usu\u00e1rios e grupos. Voc\u00ea pode achar o seu UID com o comando\u00a0<span>echo $UID<\/span>. Para encontrar o GID, use\u00a0<span>cat \/etc\/group<\/span>. Esses valores s\u00e3o geralmente 1000, para o seu usu\u00e1rio padr\u00e3o.<\/p>\n<p>Um ajuste muito comum para NTFS, \u00e9:\u00a0<span>uid<\/span>=1000,<span>gid<\/span>=1000,<span>dmask<\/span>=027,<span>fmask<\/span>=137. Esse ajuste te faz o dono do drive, e d\u00e3o as permiss\u00f5es\u00a0<span>drwxr-x&#8212;<\/span>.<\/p>\n<p>Agora voc\u00ea entende porque eu prefiro deixar o meu HD como ext4? Claro que, deixando ele como\u00a0<span>ext4<\/span>, o meu HD s\u00f3 ser\u00e1 reconhecido por sistemas como GNU\/Linux. Se eu colocar ele em um Windows, o mesmo vai pedir de cara para voc\u00ea formatar o drive (nunca fa\u00e7a isso, ou voc\u00ea perde tudo em seu HD). J\u00e1 no Mac, ele nem reconhece, salvo se o seu Mac tem drivers para\u00a0<span>ext*<\/span>\u00a0instalados.<\/p>\n<p>Para evitar problemas como esse, quando eu coloco algum arquivo vindo de origem Windows ou Mac, eu acesso o meu HD pelo SSH. J\u00e1 que SSH e SFTP, s\u00e3o tecnologias presentes em todos os tr\u00eas sistemas.<\/p>\n<p>Para saber mais sobre o SSH, veja o artigo que eu escrevi sobre ele:<\/p>\n<ul>\n<li><a href=\"http:\/\/vivaolinux.com.br\/artigo\/SSH-Blindado-Protegendo-o-seu-sistema-de-ataques-SSH\">SSH Blindado &#8211; Protegendo o seu sistema de ataques SSH<\/a><\/li>\n<\/ul>\n<p>Voc\u00ea pode, ent\u00e3o, usar programas como o FileZilla para transferir os seus arquivos; outra op\u00e7\u00e3o muito vi\u00e1vel, se voc\u00ea tem outros computadores com o Windows ou Mac, \u00e9 fazer uma pasta compartilhada usando o Samba.<\/p>\n<p>N\u00e3o vou entrar em detalhes nesse assunto, porque a\u00ed j\u00e1 seria um outro artigo dentro desse artigo. Mas a ideia, \u00e9 a seguinte:<\/p>\n<p>Monte os seus HDs em pastas criadas pelo root em\u00a0<span>\/media\/NN<\/span>\u00a0onde\u00a0<span>NN<\/span>\u00a0\u00e9 o nome qualquer das pastas:<\/p>\n<p><strong>$ sudo mkdir -p \/media\/HD1<\/strong><\/p>\n<p>Mude a permiss\u00e3o para\u00a0<span>rwx<\/span>\u00a0(ler, escrever e executar) nessas pastas para todos os usu\u00e1rios e grupos:<\/p>\n<p><strong>$ sudo chmod 777 \/media\/HD1<\/strong><\/p>\n<p>Aponte o SSH, FTP ou Samba, para essas pastas:<\/p>\n<p>SSH e FTP: Edite o arquivo\u00a0<span>\/etc\/ssh\/sshd_config<\/span>:<\/p>\n<p><strong>$ sudo nano \/etc\/ssh\/sshd_config<\/strong><\/p>\n<p>Certifique que esta linha esteja presente:<\/p>\n<div>Subsystem sftp \/usr\/lib\/openssh\/sftp-server<\/div>\n<p>E adicione estas linhas para o seu usu\u00e1rio:<\/p>\n<div>Match User mauricio<br \/>\nChrootDirectory \/media\/HD1<br \/>\nAllowTCPForwarding no<br \/>\nX11Forwarding no<br \/>\nForceCommand \/usr\/lib\/openssh\/sftp-server<\/div>\n<p>Se voc\u00ea tem v\u00e1rios usu\u00e1rios, n\u00e3o precisa fazer um por um, apenas adicione o grupo ao qual eles todos pertencem.<\/p>\n<div>Match Group users<br \/>\nChrootDirectory \/media\/HD1<br \/>\nAllowTCPForwarding no<br \/>\nX11Forwarding no<br \/>\nForceCommand \/usr\/lib\/openssh\/sftp-server<\/div>\n<p>Samba: edite o\u00a0<span>\/etc\/samba\/smb.conf<\/span>:<\/p>\n<p><strong>$ sudo nano \/etc\/samba\/smb.conf<\/strong><\/p>\n<p>No final do arquivo, onde voc\u00ea deve criar o compartilhamento, escreva:<\/p>\n<div>[HD1]<br \/>\ncomment = Primeiro HD<br \/>\npath = \/media\/HD1<br \/>\nforce user = nobody<br \/>\nforce group = nogroup<br \/>\nread only = No<br \/>\ncreate mask = 0664<br \/>\ndirectory mask = 0775<br \/>\nguest ok = Yes<\/div>\n<p>Essas op\u00e7\u00f5es s\u00e3o para tornar o seu HD p\u00fablico na rede, assim, todos t\u00eam acesso a ele.<\/p>\n<p>Caso voc\u00ea queira modificar alguns detalhes, como\u00a0<span>guest ok = no<\/span>,\u00a0<span>create mask<\/span>, etc, fique \u00e0 vontade. Como eu disse, n\u00e3o vou me aprofundar nestes detalhes, uma procura aqui no VOL vai dar as respostas que voc\u00ea quer. Ou mande uma mensagem neste artigo e eu vou tentar te ajudar no que estiver a meu alcance.<\/p>\n<p>Agora, o passo final. \ud83d\ude42<\/p>\n<\/div>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\"><b>Acesso aos arquivos<\/b><\/p>\n<div>Para acessar o conte\u00fado do seu HD, voc\u00ea deve usar aplica\u00e7\u00f5es de UPNP ou DLNA. Existem v\u00e1rios programas dispon\u00edveis para os mais diversos aparelhos, como eu mencionei no in\u00edcio, estarei explicando como acessar com o PS3, Samgsung Galaxy S4, computador, etc.<\/p>\n<p>Caso a sua TV tenha acesso a conte\u00fado DLNA, o MediaTomb deve aparecer entre os servidores na rede, selecione e navegue pelo seu conte\u00fado.<\/p>\n<p>Caso voc\u00ea queira usar o celular, ou o tablet, existem v\u00e1rios aplicativos, alguns gratuitos, por\u00e9m limitados, outros pagos, e ainda outros gratuitos e sem limites.<\/p>\n<p>Um dos melhores aplicativos para isso, em minha opini\u00e3o, \u00e9 o Twonky. Voc\u00ea pode baixar para o Android\u00a0<a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.pv.twonkybeam&amp;hl=pt_BR\">aqui<\/a>, ou para o iPhone\u00a0<a href=\"http:\/\/itunes.apple.com\/us\/app\/twonky-beam\/id445754456\">aqui<\/a>.<\/p>\n<p>Embora o iPhone s\u00f3 vai tocar o conte\u00fado que voc\u00ea tem em MP4, MOV ou M4a. Para tocar MKV, OGG, AVI, etc, voc\u00ea deve comprar os codecs (I hate Apple !!!!). Por essa e outras raz\u00f5es, eu n\u00e3o tenho iPhone, iPad, etc.<\/p>\n<div><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/mobile.png\" width=\"343\" height=\"610\" \/><\/div>\n<p>No PS3, voc\u00ea j\u00e1 vai ver no menu na sele\u00e7\u00e3o de fotos, m\u00fasica e v\u00eddeos, o MediaTomb na lista, acesse o conte\u00fado ali.<\/p>\n<div><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/1391482660.ps3.jpg\" width=\"500\" height=\"247\" \/><\/div>\n<p>Atrav\u00e9s do computador, voc\u00ea pode acessar os v\u00eddeos de diversas formas, duas que eu recomendo, seriam VLC e XBMC.<\/p>\n<p>O VLC demora um pouco para achar o seu computador na rede, mas, uma vez encontrado, ele disponibiliza todos os v\u00eddeos organizados por pastas.<\/p>\n<p>Para fazer isso, clique em: Visualizar \u2192 Lista \u2192 Universal Plug&#8217;n&#8217;Play<br \/>\nDepois de encontrar o seu computador, navegue nas pastas e selecione o filme, m\u00fasica, etc.<\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/snapshot12.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_snapshot12.png\" width=\"500\" height=\"241\" border=\"0\" \/><\/a><\/div>\n<p>As m\u00fasicas podem ser abertas pelo Amarok, usando um plugin de UPNP ou, se voc\u00ea preferir, use o Samba e aponte a cole\u00e7\u00e3o do Amarok, para aquela pasta onde voc\u00ea montou o compartilhamento do Samba.<\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/snapshot13.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_snapshot13.png\" width=\"500\" height=\"424\" border=\"0\" \/><\/a><\/div>\n<p>J\u00e1 o XBMC, faz um estilo visual muito melhor e tamb\u00e9m tem muito mais op\u00e7\u00f5es, com ele, voc\u00ea pode usar o m\u00e9todo UPNP&#8230;<br \/>\n..selecionando: V\u00eddeos &gt; Add Video Location<\/p>\n<p>No menu ao lado, selecione UPNP e espere o XBMC encontrar seu servidor (isso pode demorar um pouco).<\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/xbmc.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_xbmc.png\" width=\"500\" height=\"312\" border=\"0\" \/><\/a><\/div>\n<p>Ou, voc\u00ea pode adicionar o compartilhamento do Samba que voc\u00ea criou.<\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/1394752732.xbmc2.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_1394752732.xbmc2.png\" width=\"500\" height=\"344\" border=\"0\" \/><\/a><\/div>\n<p>Quando voc\u00ea terminar esse processo, os seus v\u00eddeos ser\u00e3o todos catalogados, e o XBMC vai buscar online as informa\u00e7\u00f5es de cada v\u00eddeo que voc\u00ea tem em seu servidor. Para isso, selecione qual o tipo de v\u00eddeo que voc\u00ea tem no HD (filmes, shows, etc).<\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/1394755442.scan.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_1394755442.scan.png\" width=\"500\" height=\"274\" border=\"0\" \/><\/a><\/div>\n<p>Se por acaso, algum filme sair errado, como o da imagem abaixo, selecione o arquivo que est\u00e1 errado e aperte a tecla\u00a0<span>i<\/span>, depois selecione\u00a0<span>Recarregar\/Refrescar<\/span>\u00a0(Refresh), e confirme que voc\u00ea quer buscar na Internet as informa\u00e7\u00f5es.<\/p>\n<p>Caso haja mais de um filme com o mesmo t\u00edtulo, ele mostra a sele\u00e7\u00e3o com o t\u00edtulo e o ano de lan\u00e7amento, selecione o correto e pronto.<\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/wrong.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" alt=\"Linux: Servidor de M\u00eddia com 128 MB de RAM\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_wrong.png\" width=\"200\" height=\"114\" border=\"0\" \/><\/a>\u00a0\u00a0\u00a0<a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/original.jpg\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_original.jpg\" width=\"500\" height=\"281\" border=\"0\" \/><\/a><\/div>\n<p>D\u00e1 para voc\u00ea salvar as informa\u00e7\u00f5es dos filmes em seu servidor, assim, o XBMC n\u00e3o precisa ir online, toda vez para mostrar a informa\u00e7\u00e3o do filme. Ao inv\u00e9s disso, ele pega do seu servidor, s\u00f3 que isso \u00e9 assunto para outro artigo.<\/p>\n<\/div>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\"><b>Fazendo a manuten\u00e7\u00e3o<\/b><\/p>\n<div>Agora que voc\u00ea tem a sua m\u00eddia na palma da m\u00e3o e n\u00e3o precisa ficar carregando aqueles montes de CDs e USBs de um lado para o outro, voc\u00ea est\u00e1 dentro de uma nova era, onde sua m\u00eddia est\u00e1 virtualmente em todos os seus dispositivos e n\u00e3o ocupam o espa\u00e7o no seu celular, Tablet e Laptop.<\/p>\n<p>Que legal! Agora temos que ter certeza que esse sistema continue ativo, acidentes podem acontecer. Especialmente se voc\u00ea tem crian\u00e7a em casa (que n\u00e3o \u00e9 o meu caso), ou o seu cachorro adora morder os seus cabos, ou se a faxineira puxa todos os plugs das tomadas antes de limpar a \u00e1rea onde o seu servidor est\u00e1. \ud83d\ude42<\/p>\n<p>O que fazer se algo der errado e voc\u00ea tem que intervir, seja com um comando de reinicializa\u00e7\u00e3o at\u00e9 um upgrade no sistema?<\/p>\n<p>Lembra quando instalamos o Webmin e o SSH?<br \/>\nAgora voc\u00ea j\u00e1 sabe porque, n\u00e9?<\/p>\n<p>Eu n\u00e3o vou me estender neste assunto tamb\u00e9m, por\u00e9m, eu tenho que fazer refer\u00eancia desses dois, porque eles s\u00e3o verdadeiros salvadores em momentos cr\u00edticos.<\/p>\n<p>J\u00e1 que o nosso servidor est\u00e1 rodando em recursos limitad\u00edssimos, n\u00e3o devemos usar o\u00a0<span>X11<\/span>, porque ele vai carregar demais a mem\u00f3ria, ent\u00e3o, entre atrav\u00e9s de outro computador na rede e digite no browser a seguinte URL:<\/p>\n<ul>\n<li><strong>https:\/\/numero-do-ip:10000<\/strong><\/li>\n<\/ul>\n<p>Se o meu servidor est\u00e1 em\u00a0<span>192.168.30.26<\/span>, eu vou entrar em:\u00a0<strong>https:\/\/192.168.30.26:10000<\/strong><\/p>\n<p>Vou me logar com o usu\u00e1rio que tem acesso ao\u00a0<span>sudo<\/span>\u00a0ou o\u00a0<span>root<\/span>\u00a0e ali, eu posso executar todas as minhas tarefas administrativas do sistema.<\/p>\n<p>Veja o sum\u00e1rio do meu servidor, na tela principal do Webmin:<\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/snapshot14.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_snapshot14.png\" width=\"500\" height=\"261\" border=\"0\" \/><\/a><\/div>\n<p>Fazendo upgrade do pr\u00f3prio Webmin, sem sair dele:<\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/snapshot15.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_snapshot15.png\" width=\"500\" height=\"261\" border=\"0\" \/><\/a><\/div>\n<p>J\u00e1, se voc\u00ea gosta do terminal simples e puro, use o SSH para efetuar as altera\u00e7\u00f5es, usando o terminal:<\/p>\n<p><strong>$ ssh usuario@host<\/strong><\/p>\n<p>Exemplo:<\/p>\n<p><strong>$ ssh mauricio@192.168.30.26<\/strong><\/p>\n<p>Depois de entrar j\u00e1 como usu\u00e1rio com acesso ao\u00a0<span>sudo<\/span>, eu posso fazer altera\u00e7\u00f5es administrativas ou logar como\u00a0<span>root<\/span>.<\/p>\n<p>Espero que tenham gostado do artigo.<\/p>\n<p>Agora, \u00e9 s\u00f3 estourar algumas pipocas, colocar o som em todas alturas e apreciar as suas fotos na telona. \ud83d\ude42<\/p><\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n","protected":false},"excerpt":{"rendered":"<p>A ideia Aposentando CDs, USB, etc. Essa ideia come\u00e7ou quando eu me deparei com um Laptop muito antigo, que a minha esposa tinha guardado no &#8220;sarc\u00f3fago&#8221; chamado por\u00e3o. Esse Laptop \u00e9 t\u00e3o antigo que, quando eu vi, fiquei surpreso. Ela me disse que podia jogar fora, porque o sistema era o Windows 2000 e quando [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[256,42,439],"tags":[441,440,442,72],"class_list":["post-725","post","type-post","status-publish","format-standard","hentry","category-desktop","category-leitura-recomendada","category-midia","tag-com-128-mb","tag-de-midia","tag-de-ram","tag-servidor"],"_links":{"self":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/725","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=725"}],"version-history":[{"count":2,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/725\/revisions"}],"predecessor-version":[{"id":727,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/725\/revisions\/727"}],"wp:attachment":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=725"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=725"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=725"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}