Arquivo da Categoria: Linux

Linux

Eu construí PhantomJS 2.1.1 para Raspberry Pi

Eu construí PhantomJS 2.1.1 para Raspberry Pi. Ele também pode ser executado em qualquer máquina arquitetura armhf.

Eu usei o Debian em ARM VPS em https://www.scaleway.com/ e siga esta página para construí-lo.

Faça o download de https://github.com/mecrazy/phantomjs-binaries.
( Depois da minha solicitação de recebimento permitido, vou editar o link neste blog para “https://github.com/avaynshtok/phantomjs-binaries”. )

Eu uso o Raspberry Pi como uma máquina de teste para todos os aplicativos de servidor, como raspagem web. Mas não havia binários PhantomJS para a arquitetura armhf na web. Então eu construí-lo. Por favor, use este binário, se quiser. Mas eu não posso cuidar eventuais problemas e erros quando você usá-lo.

< O que é "PhantomJS"? >
PhantomJS é uma ferramenta de raspagem web com JavaScript API. Ele pode capturar páginas da web como PDF, PNG ou algum tipo de arquivo de imagem. Se você quiser saber mais sobre PhantomJS, verifique http://phantomjs.org/.

Recomendações do Webmin para usuários Debian

< O que é “Webmin”? >
“Webmin” é uma ferramenta de configuração com base WEB UI escrito em Perl. Pode ser executado em Linux / Unix / Windows / OSX. Quando eu instalar o Debian em meu computador, eu instalar o “Webmin”. Basicamente, eu usá-lo para editar arquivos de configuração, porque eu não preciso lembrar que são os arquivos de configuração. “Webmin” pode controlar de partida e parada de quaisquer serviços. “Webmin” tem tantas funções convenientes. Mas é muito pesado para mim para explicar tudo sobre ele. Se você quer saber sobre “Webmin” mais, por favor, verifique Webmin – Wikipedia e http://www.webmin.com/.

< Instalação em Debian >
Por favor, verifique última versão do webmin em a href=”http://www.webmin.com/” target=”_blank”>http://www.webmin.com/. Por favor, substitua a URL vermelho para a mais recente quando você verificar o site oficial. Execute os comandos abaixo como root para instalar webmin.

root@myhost:~# cd /tmp
root@myhost:/tmp# wget http://prdownloads.sourceforge.net/webadmin/webmin_1.690_all.deb
root@myhost:/tmp# dpkg -i webmin_1.690_all.deb
root@myhost:/tmp# apt-get -f install

Após o comando “dpkg -i webmin_1.690_all.deb“, mostra apt-lhe todos os avisos. Depois disso, por favor, execute “apt-get -f install” para instalar o software necessário para webmin.

< por questões de segurança >
Por configuração padrão, webmin só pode ser acessado a partir da rede local. Eu nunca mudei, por causa da segurança. Eu sempre uso SSH transferência porto ou qualquer tipo de VPN para usar webmin da internet. Você não precisa permitir que webmin para ser acessado diretamente a partir da internet.

< Transferência porta SSH >
Se o seu nome de usuário é “abcd” e domínio é “example.com“, faça o login SSH com a transferência do porto para webmin é uma linha de comando a seguir.

$ ssh -L 10000:localhost:10000 abcd@example.com

Esta linha de comando é para Linux / UNIX / OSX. Você também pode usar o endereço IP em vez de domínio.

< Entre para Webmin >
Use qualquer navegador para acessar “https://localhost:10000/“. Você verá a mensagem não confiável como abaixo.
untrusted_001_pt
É um exemplo do Firefox. Por favor, empurrar “Adicionar exceção” se você usar o Firefox.
untrusted_002_pt
Na primeira vez, você precisa fazer o login como usuário root. Se você não quiser usar raiz para acessar webmin, você pode adicionar qualquer usuário para webmin.
webmin_login

< Que linguagem você usa? >
Linguagem padrão para webmin é o Inglês. Se você quiser alterar a configuração de idioma global, por favor, verifique a navegação ea imagem abaixo.
[ Webmin ] – [ Webmin Configuration ] – [ Language ] ( Inglês )
webmin_change_language_001
[ Webmin ] – [ Configuração do Webmin ] – [ Idioma ] ( Português )
webmin_change_language_001_pt-br
Você pode selecionar o idioma padrão e código de caracteres para a interface de usuário webmin pela função acima. Se você quiser alterar o idioma pessoal ou tema, por favor, verifique a navegação e imagem abaixo.
[ Webmin ] – [ Change Language and Theme ] ( Inglês )
webmin_change_language_002
[ Webmin ] – [ Mudar Língua e Tema ] ( Português )
webmin_change_language_002_pt-br
( Eu não sei por que esta página não é traduzida. )

< tema Webmin >
Quero explicar como adicionar usuários webmin, mas antes de adicionar usuários webmin, eu preciso explicar sobre o meu tema webmin.
[ Webmin ] – [ Configuração do Webmin ] – [ Temas do Webmin ]
Você pode selecionar temas para Webmin UI. Eu sempre uso “MSC.Linux Theme“. Por favor, escolha um tema que você deseja usar. Mas durante seguindo meu procedimento neste post, é fácil de seguir usando “MSC.Linux Theme“.
webmin_theme_pt

< Adicionar usuário do sistema >
Eu sempre adicionar usuário do sistema antes de adicionar usuário webmin. Porque eu uso UNIX de login para webmin. Você pode adicionar usuários em seu sistema de operação na navegação abaixo. Eu uso essa função em vez de comando “adduser”.
[ Sistema ] – [ Usuários e Grupos ] – [ Criar novo usuário ]
Eu basicamente usar as configurações padrão para novo usuário. Eu só alterar a senha.
webmin_users_pt

< Adicionar usuário Webmin >
Você pode adicionar usuários para webmin na navegação abaixo. Você precisa selecionar as funções de webmin para permitir que o usuário pode controlar. Eu sempre uso a autenticação do UNIX para a senha.
[ Webmin ] – [ Usuários do Webmin ] – [ Criar um novo usuário do Webmin ]
Depois de adicionar o usuário webmin, eu sempre relogin webmin sobre o novo usuário.
webmin_add_webminuser_pt
Você pode encontrar a lista de módulos como abaixo.
webmin_select_modules_pt
Se você quer controlar tudo, como um administrador, clique em “Selecionar todos” para selecionar todas as funções.

< Sistema de controle e serviço >
[ Sistema ] – [ Iniciar e Encerrar ]
A imagem mostra as funções na parte inferior da página.
webmin_control_services_pt

< Sobre os módulos do Webmin >
Quando tenho tempo livre, eu vou atualizar este post ou escrever novo post sobre alguns módulos para webmin.

Proxy reverso no nginx em Raspberry Pi ( em Português )

< Pronto para instalar >
Você precisa ofegante Debian a seguir o meu procedimento. Não só para Raspberry Pi.

< Por que eu uso Raspberry Pi >
Proxy reverso é função simples. Basicamente é muito fácil tarefa para computadores pessoais gerais ou quaisquer servidores. Raspberry Pi não é tão poderoso, mas é computador economia de energia. Não é caro. Qualquer um pode comprá-lo em todo o mundo. É o suficiente para proxy reverso no nginx. É por isso que escolher Raspberry Pi para servidor proxy reverso e escreveu este post.

< Instalando o nginx >
Executa o comando abaixo como root.

apt-get install nginx

Isto é tudo.

< Editar arquivo de configuração >
Editar arquivo de configuração padrão.

nano /etc/nginx/sites-available/default

Meu “/etc/nginx/sites-available/default” é como abaixo.

server {
listen 80;
server_name mydomain.net;

location / {
proxy_pass http://127.0.0.1:8080;
}
}

Esta transferência de configuração acessa “mydomain.net” para 8080 porto de servidor Apache local no Raspberry Pi.

< Adicionar arquivo de configuração do proxy >
Adicione um arquivo de configurações de proxy.

nano /etc/nginx/conf.d/proxy.conf

Meu “/etc/nginx/conf.d/proxy.conf” é como abaixo.

# Header
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

# Timeout
proxy_connect_timeout 60;
proxy_read_timeout 90;
proxy_send_timeout 60;

# Buffer
proxy_buffering on;
proxy_buffer_size 8k;
proxy_buffers 100 8k;

# Cache
proxy_cache_path /var/cache/nginx/mydomain.net levels=1:2 keys_zone=cache_$
proxy_temp_path /var/cache/nginx/temp;

proxy_cache_valid 200 2h;
proxy_cache_valid 302 2h;
proxy_cache_valid 301 4h;
proxy_cache_valid any 1m;

Além disso, você precisa fazer o cache dir como root.

mkdir /var/cache/nginx

< Comece nginx >

service nginx start

Como você pensa sobre esse procedimento? Tão fácil?

bochs sobre Raspberry Pi ( em Português )

< x86 em ARM >
Eu tento correr DOS em Debian ofegante em Raspberry Pi.
( Windows95 também é possível, mas é muito lento )

< Instale “bochs” >
Instalação “bochs” é muito fácil.
Linha de comando é como abaixo.

root@myhost:~# apt-get install bochs bochs-x bochs-sdl bochs-svga

< Gerar imagem de disco rígido >
Executar “bximage” no seu Raspberry Pi.
Eu recomendo para executar “bximage” como usuário não-root.
Você deve executar “bximage” como um usuário que usar “bochs”.
É 2GB amostra da imagem.

$ bximage
========================================================================
                                bximage
                  Disk Image Creation Tool for Bochs
        $Id: bximage.c,v 1.34 2009/04/14 09:45:22 sshwarts Exp $
========================================================================
Do you want to create a floppy disk image or a hard disk image?
Please type hd or fd. [hd]
What kind of image should I create?
Please type flat, sparse or growing. [flat]
Enter the hard disk size in megabytes, between 1 and 129023
[10] 
2048
I will create a ‘flat’ hard disk image with
  cyl=4161
  heads=16
  sectors per track=63
  total sectors=4194288
  total size=2047.99 megabytes
What should I name the image?
[c.img] 
msdoshdd.img
Writing: [] Done.
I wrote 2147475456 bytes to msdoshdd.img.
The following line should appear in your bochsrc:
  
ata0-master: type=disk, path=”msdoshdd.img”, mode=flat, cylinders=4161, heads=16, spt=63

“bximage”, disse para adicionar linha “
ata0-master: type=disk, path=”msdoshdd.img”, mode=flat, cylinders=4161, heads=16, spt=63” para “.bochsrc”.

< Gerar “.bochsrc” para MS-DOS >
Vá para o seu diretório home.
Eu uso o “nano” para editar arquivos de texto.

$ cd /home/username
$ nano .bochsrc

Meu “.bochsrc” é como abaixo.

megs: 64
romimage: file=$BXSHARE/BIOS-bochs-latest
vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest
display_library: sdl
ata0-master: type=disk, path=/home/username/msdoshdd.img, mode=flat, cylinders=4161, heads=16, spt=63
ata0-slave: type=cdrom, path=/home/username/MS-DOS-6.22.iso, status=inserted
boot: cdrom, disk
#keyboard_mapping: enabled=1, map=/usr/share/bochs/keymaps/x11-pc-us.map
log: bochsout.txt
clock: sync=realtime, time0=local

“MS-DOS-6.22.iso” é o meu arquivo de inicialização do MS-DOS. Por favor, substitua-o para qualquer arquivo ISO inicializável que você tem. Na minha “.bochsrc”, rato não está disponível. Se você quiser usar o mouse, por favor google sobre “Como editar bochsrc para usar o mouse.”

< Instalar VNC >
Se você usar o monitor HDMI, você não precisa deste passo.
Se você não usar a tela, você precisa instalar o servidor VNC para X remoto no Raspberry Pi.
Executar esta linha de comando como root.

root@myhost:~# apt-get install tightvncserver

Executar esta linha de comando como um usuário que usar “bochs”.

$ vncserver :1 -geometry 1024×768 -depth 24
You will require a password to access your desktops.
Password:
Verify:
Would you like to enter a view-only password (y/n)? 
n
New ‘X’ desktop is myhost:1

“:1″ significa a porta “5901″.
“-geometry 1024×768″ significa resolução.
“-depth 24″ significa cores em bits.

< Executar bochs >
Por favor, ligue o seu servidor VNC em Raspberry Pi. (Ou use “startx” com display HDMI)
E executar terminal. ( ex. LXTerminal )
Executar bochs no terminal.

$ bochs

Às vezes bochs perguntar-lhe como essa sintaxe.

A PANIC has occurred.  Do you want to:
  cont       – continue execution
  alwayscont – continue execution, and don’t ask again.
               This affects only PANIC events from device [MEM0 ]
  die        – stop execution now
  abort      – dump core
  debug      – hand control to gdb

Eu sempre respondo “alwayscont”.

< Para ser honesto >
Tentei instalar Windows 95.
Mas ele precisa de imagens FD de DOS e Windows 3.1. (Meu Windows 95 é versão de atualização)
Era problemático para mim.
Então eu mudei o meu objetivo.

Instalar “Debian wheezy” para LS-XHL

< Aviso >
Eu posso garantir nada sobre seus problemas que acontecem ao seu hardware ou de dados, seguindo meu procedimento nesta página. Por favor, realize o procedimento por sua conta e risco.

< O que é “LS-XHL”? >
É uma espécie de NAS(Network Attached Storage – Wikipedia) feito por Buffalo(Empresa japonesa).
Você pode encontrar NAS semelhantes na Amazônia, pesquisando “linkstation”.
Podemos instalar o Debian nele.
( Talvez “LS-XHL” é velho demais para comprar um novo, você pode comprar apenas usado. )

< Eu instalei Debian ofegante para “LS-XHL” >
Eu escrevi sobre o procedimento para instalar o Debian ofegante de “LS-XHL”.
Basicamente eu sigo “http://www.zorac.org/wp/?p=447“(página japonês) e “Buffalo NAS-Central Forums • View topic – LS-CHLv2 – LS-XHL – Debian Wheezy Rootfs – Update 2013.05.15“(página Inglês).
Se você quer entender ou ler mais, leia estas páginas ou google as palavras-chave sobre eles.

< Coisas que você precisa >
1. LS-XHL ( LS-VL é semelhante ao LS-XHL, talvez única configuração de rede é diferente. )
2. Debian Wheezy Rootfs ( http://neboola.de/fjen/lschlv2/debian/wheezy/ )
3. Máquina Debian ou Ubuntu ( Eu recomendo máquina CPU ARM. Mas talvez no-ARM é possível. )
4. USB caso disco rígido ( Você precisa disso para conectar temporariamente a máquina Linux. Se for possível, SATA interno ou qualquer tipo de conexões estão OK. )

Eu escrevi os procedimentos da ARM e no-ARM como mesmos que possível, mas alguns procedimentos são diferentes. Eu verifiquei apenas na máquina ARM. Por favor, tenha cuidado.

< Algo como armadilhas >
1. Quando eu uso “Gparted” para o particionamento, LS-XHL não arrancar. (“parted” é OK.)
2. “chroot” para esta rootfs só está disponível na máquina ARM.

< PASSO 1 – Desmonte LS-XHL >
Achei o bom vídeo no Youtube. Por favor, siga este.

( Talvez desmontagem LS-VL é o mesmo. )
Sua peça de plástico é muito fácil de quebrar, por favor, tome cuidado para não quebrar quando você abri-lo.
Mesmo se você quebrar alguma parte, talvez ele possa trabalhar. Não se preocupe tanto.
Porque eu quebrar muitos parte de plástico da minha LS-XHL haha …

< PASSO 2 – Particionamento e formatação de HDD >
Inicializar sua máquina Linux. ( Eu costumava ofegante Debian em Raspberry Pi. )
Entrar na máquina Linux como root.
Se a sua máquina não tem “parted”, instale “parted”.
Se o Linux é Debian ou Ubuntu, execute esta linha de comando.

apt-get install parted

Em seguida, conecte o seu novo disco rígido(para LS-XHL) para esta máquina Linux por USB ou qualquer tipo de ligações.
E verifique as informações do disco rígido. Se o seu disco rígido está em “/dev/sda”, execute esta linha de comando.

parted /dev/sda print

No meu caso, ele mostrou como esta.

Model: ATA Hitachi HDS72202 (scsi)
Disk /dev/sda: 2000GB
Sector size (logical/physical): 512B/512B

Palavra importante é “2000GB” em linha “Disk /dev/sda: 2000GB”. Por favor, lembre-se a mesma parte do seu disco rígido.
Tornar as partições.

parted /dev/sda mklabel gpt
parted -a cylinder /dev/sda mkpart primary 0 511
parted -a cylinder /dev/sda mkpart primary 511 8191
parted -a cylinder /dev/sda mkpart primary 8191 9215
parted -a cylinder /dev/sda mkpart primary 9215 2000G
parted /dev/sda set 1 boot on

Este é o meu exemplo.
Eu estava pensando em usar
“/dev/sda1″ para “/boot”,
“/dev/sda2″ para “/”,
“/dev/sda3″ para swap,
“/dev/sda4″ para “/home”.
Você precisa mudar “2000G” da linha “parted -a cylinder /dev/sda mkpart primary 9215 2000G”.
Além disso, você pode mudar a cada tamanho da partição.
Partições Definição.

mke2fs -I 128 -j /dev/sda1
mke2fs -j -t ext4 /dev/sda2
mkswap /dev/sda3
mke2fs -j -t ext4 /dev/sda4

Montar partições para expandir Rootfs.

mount /dev/sda2 /mnt
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot

< PASSO 3 – Expandir Rootfs >
Vá até a pasta temporária como “/tmp”.
E obter “debian_wheezy_rootfs_lschlv2-lsxhl_20130515.tar.xz” de http://neboola.de/fjen/lschlv2/debian/wheezy/.

cd /tmp
wget http://neboola.de/fjen/lschlv2/debian/wheezy/debian_wheezy_rootfs_lschlv2-lsxhl_20130515.tar.xz

Expandi-lo para “/mnt”.

tar Jxvf debian_wheezy_rootfs_lschlv2-lsxhl_20130515.tar.xz -C /mnt

Baixar “uImage.buffalo.3.9.2-fjen-1.lsxhl” para “/mnt/boot”.

cd /mnt/boot
wget http://neboola.de/fjen/lschlv2/debian/wheezy/lsxhl-kernel-for-20130515/uImage.buffalo.3.9.2-fjen-1.lsxhl

< PASSO 4 – Atualizar configurações >
Por favor, atualize esses cinco arquivos.
/mnt/etc/fstab
/mnt/etc/network/interfaces
/mnt/etc/resolv.conf
/mnt/etc/hostname
/mnt/etc/hosts

Este é o meu “/mnt/etc/fstab”.

/dev/sda1       /boot         ext3     noauto,noatime         1 2
/dev/sda2       /             ext4     noatime                0 1
/dev/sda3       none          swap     sw                     0 0
/dev/sda4       /home         ext4     noatime                0 0
proc            /proc         proc     defaults               0 0
shm             /dev/shm      tmpfs    nodev,nosuid,noexec    0 0
devpts          /dev/pts      devpts   gid=4,mode=620         0 0
#tmpfs           /tmp          tmpfs    defaults               0 0
sysfs           /sys          sysfs    defaults               0 0

Este é o meu “/mnt/etc/network/interfaces”.

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
auto eth1
iface eth1 inet static
  address 192.168.1.101
  netmask 255.255.255.0
  network 192.168.1.0
  broadcast 192.168.1.255
  gateway 192.168.1.1

Se você usar “LS-VL”, ele não tem “eth1″.
Talvez “/mnt/etc/network/interfaces” é assim.

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
  address 192.168.1.101
  netmask 255.255.255.0
  network 192.168.1.0
  broadcast 192.168.1.255
  gateway 192.168.1.1

( Estes são apenas amostras. Por favor, defina os valores corretos para a sua própria rede. )
Este é o meu “/mnt/etc/resolv.conf”.

domain linkstation
search linkstation
nameserver 8.8.8.8
nameserver 8.8.4.4

Linhas “domain linkstation” e “search linkstation” não são necessárias.
Meu “/mnt/etc/hostname” é “linkstation”.
Eu não atualizar “/mnt/etc/hosts”.
Mas você pode alterá-los, se quiser.

< PASSO 5 – chroot >
Usando chroot, mas ele só está disponível na mesma arquitetura. ( Neste caso, é a arquitetura ARM. )

chroot /mnt

Se você não tem máquina ARM ou deixar de “chroot”, vá para o PASSO 6.
Se o seu “chroot” é sucedido, siga este caminho.

cd /boot
mv uImage.buffalo uImage.buffalo.bk
ln -s uImage.buffalo.3.9.2-fjen-1.lsxhl uImage.buffalo

< PASSO 6 – Se você não pode “chroot” >

( Eu não testei essa etapa do processo, tenha cuidado. E eu recomendo ao google alguma informação sobre isso. )

cd /mnt/boot
mv uImage.buffalo uImage.buffalo.bk
mv uImage.buffalo.3.9.2-fjen-1.lsxhl uImage.buffalo

< PASSO 7 – As definições básicas >
Insira HDD para LS-XHL e carregá-lo. Quando você fizer isso, eu recomendo não dirigir um parafuso e não para fechar a tampa. Pronto para re-instalar o Debian, se você falhar a instalação.
Conecte “192.168.1.101″(é o meu exemplo) por SSH.
Senha de root padrão é “toor”.

ssh root@192.168.1.101

( É exemplo Linux/UNIX. )
Siga estes comandos depois fez o acesso.

passwd
dpkg-reconfigure locales
dpkg-reconfigure tzdata
rm /etc/ssh/ssh_host_* && dpkg-reconfigure openssh-server

Estas linhas significam
1. Redefinição de senha de root
2. Atualize seu locale
3. Atualize seu fuso horário
4. Atualize chave SSH
Você precisa SSH sair para atualizar chave SSH em cliente SSH.
Se você usar o SSH no Linux/UNIX, siga este comando para atualizar a chave SSH cliente.

ssh-keygen -R 192.168.1.101

Depois disso, re-logar como root e execute “apt-get”.

apt-get update
apt-get upgrade

Agora é completa.
Por favor, dirija um parafuso e fechou a tampa.
Boa sorte!

< Obrigado >
Muito para uma pessoa que compilou “Debian Wheezy rootfs”, as pessoas em http://forum.buffalo.nas-central.org/viewtopic.php?f=71&t=26291 e uma pessoa que escreveu http://www.zorac.org/wp/?p=447 Obrigado.
Você fez a minha instalação muito mais fácil! Obrigado!