Proxy inverse sur nginx sur Raspberry Pi

< Prêt à installer >
Vous devez poussif Debian à suivre ma procédure. Non seulement pour Raspberry Pi.

< Pourquoi j’utilise Raspberry Pi >
Reverse proxy est simple fonction. Fondamentalement, c’est la tâche trop facile pour les ordinateurs personnels généraux ou les serveurs. Raspberry Pi n’est pas si puissant, mais il est l’ordinateur d’économie d’énergie. Ce n’est pas cher. N’importe qui peut acheter partout dans le monde. Il suffit de proxy inverse sur nginx. C’est pourquoi j’ai choisi Raspberry Pi pour le serveur proxy inverse et écrit ce post.

< Installation nginx >
Exécutez la commande ci-dessous en tant que root.

apt-get install nginx

Voilà tout.

< Modifiez le fichier de configuration >
Modifiez le fichier de configuration par défaut.

nano /etc/nginx/sites-available/default

Mon « /etc/nginx/sites-available/default » est comme ci-dessous.

server {
listen 80;
server_name mydomain.net;

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

Ce transfert de configuration accède « mydomain.net » à 8080 port de serveur Apache local sur Raspberry Pi.

< Ajouter le fichier de configuration de proxy >
Ajouter un fichier pour les paramètres de proxy.

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

Mon « /etc/nginx/conf.d/proxy.conf » est comme coup.

# 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;

Aussi, vous devez vous cache dir en tant que root.

mkdir /var/cache/nginx

< Lancer nginx >

service nginx start

Comment vous pensez de cette procédure? Si facile?

La création de pages web dynamiques seulement avec Google Drive

< Avertissement >
Je vous recommande d’obtenir compte Google supplémentaire uniquement pour public. Parce que si vous suivez ma procédure, votre adresse Gmail sera sur fichier XML public.

< Nouvelle solution sur 07/07/2014 >
J’ai écrit le message Obtenez nouvelle version de Google Feuilles de calcul comme JSONP. Si vous souhaitez utiliser la nouvelle version de Google Feuilles de calcul pour générer des pages web dynamiques à la place de l’ancienne version, s’il vous plaît lire ce poste.

< Mis à jour le 26.04.2014 >
S’il vous plaît utiliser Anyfile Notepad ou d’autres applications d’édition de texte pour Google Drive sur Google Web Store au lieu de Drive Notepad. Parce que Drive Notepad a été retiré du magasin.

< Mis à jour le 12.05.2014 >
Hey! Drive Notepad est de retour à Google Web Store!

< Recommandation >
Je vous recommande d’installer «Drive Notepad». Il s’agit d’une extension pour Google Drive. Lorsque vous installez Drive Notepad, vous devez Chrome. Mais après la connexion Drive Notepad Google Drive, Chrome n’est pas nécessaire. Vous pouvez utiliser Drive Notepad sur tous les navigateurs.
https://chrome.google.com/webstore/detail/drive-notepad/gpgjomejfimnbmobcocilppikhncegaj?hl=en-GB
drive_notepad_en_us

< Pour mettre à jour le contenu de la Feuille de calcul >
Vous devez utiliser «la version de Google Feuille de calcul 1». Parce que «la version 2» ne prend pas en charge CSV et partage encore XML. (J’ai écrit ce poste chez 19 Avril 2014.) Si vous générez normalement nouvelle feuille de calcul aujourd’hui, c’est être automatiquement la version 2.

Google a expliqué nouvelle feuille de calcul sur «Découvrir la nouvelle version de Google Feuilles de calcul».

Je m’inquiétais CSV et le partage de XML ne vais pas soutenir dans la version 2. Alors j’ai vérifié aussi «Fonctions non compatibles avec la nouvelle version de Google Feuilles de calcul». Mais cette fonction n’est pas listé sur cette page. Ouais … ne figure pas … mais personne n’est sûr quand Google change leur esprit ….
Pouvez-vous accepter cette situation? LOL

Voyons accès https://g.co/oldsheets pour générer une feuille de calcul dans la version 1.

C’est mon échantillon.

C’est une seule feuille. Il a en-tête, 3 cols et 2 lignes.
( Je vais générer imgur du site web images. )

< Faisons public >
Suivez la photo ci-dessous.
publish_to_the_web_fr

Sélectionnez «Publier sur le Web» et appuyez sur «Démarrer la publication».
Section «Insérer un lien vers les données publiées» Voir.
publish_to_the_web_2_fr
Vous pouvez obtenir votre feuille de calcul en tant que page Web, HTML, CSV, TXT, PDF, ATOM, RSS, XLS et ODS. Si vous souhaitez synchroniser tableur pour votre site Web, vous devez choisir CSV, ATOM ou RSS. Ce sont au format facile pour la synchronisation. Lorsque vous choisissez l’un d’eux, vous pouvez trouver la fonction pour sélectionner la colonne et de la ligne. Cette fonction peut faire la taille de fichier par demande plus faible.

Si vous choisissez CSV, avant de choisir la gamme, s’il vous plaît sélectionner une feuille cible. Échantillon est comme la photo ci-dessous.
select_sheet_fr
Dans mon exemple, «A1» est-tête. Je veux obtenir 5 lignes maximum. J’ai donc mis la gamme «A2:A6».
select_cell_fr
Vous pouvez trouver «range=A2%3AA6» dans l’url. Si vous voulez ajouter la fonction de recherche de personnes à votre site Web, vous devriez changer dynamiquement le paramètre de «range» par Javascript.

< Est-il difficile? >
Ne vous inquiétez pas. J’ai écrit le code Javascript ici.
https://github.com/mecrazy/generateGoogleDriveUri
Ce script est compatible avec les formats CSV, ATOM et RSS. C’est seulement générateur URI. Il n’a pas l’analyseur. Si vous choisissez ATOM ou RSS, vous pouvez utiliser jQuery comme un analyseur.

S’il vous plaît utiliser «generateGoogleDriveUri.min.js» comme ci-dessous.

<!DOCTYPE html>
<html>
<head>
<title>Exemple de page</title>
<script src="js/generateGoogleDriveUri.min.js"></script>
<script type="text/javascript">
window.onload = function(){

//Objet coulée
var gduObj = new genGDU('Mettez un lien vers les données publiées ici');

//Générer URI
var atomUri = gduObj.genUri(
  'atom', // Je choisis le format ATOM.
  {
    startRow:2, //Lancer de la ligne 2
    startCol:1, //Lancer de col 1
    cols:1, //Couper 1 colonnes
    rows:5, //Couper 5 lignes par page
    page:1 //Obtenez page 1
  }
);

var html = '<a href="' + atomUri + '" target="_blank">' + atomUri + '</a>';
document.getElementById('sample').innerHTML = html;

}
</script>
</head>
<body id="sample"></body>
</html>

< Ajouter index.html et réglage Drive Notepad >
Après avoir ajouté lecteur Bloc-notes sur Chrome, vous pouvez trouver «Text Document» sur créer le menu de votre Google Drive.
add_index_fr
Si c’est votre première fois d’utiliser Drive Notepad, il vous sera demandé comme ci-dessous.
permission_01_en_us
Poussez «Login and/or grant app permissions…» et accepter la question ci-dessous.
permission_02_fr

S’il vous plaît changer le nom du fichier à «index.html». Après avoir enregistré le fichier, fermer l’onglet.
change_file_name_en_us

S’il vous plaît changer le réglage sur «Gérer les applications».
manage_apps_fr
S’il vous plaît vérifier «Utiliser cette application par défaut» de Drive Notepad ligne.
use_by_default_fr
Après cela, vous pouvez utiliser Drive Notepad comme les autres applications sur Google Drive.

< Modifier les paramètres de partage >
Sélectionnez votre dossier de fixer public.
Après cela, suivez la photo ci-dessous.
set_sharing_enabled_01_fr
Réglez «Public» cochée.
set_sharing_enabled_02_fr

< Préparation HTML, CSS, Javascript >
Utilisation Drive Notepad pour les préparer.
Ou modifier avec votre propre éditeur de texte et de les télécharger.
Ma position relative est comme ci-dessous.
my_public_tree_fr

Le lien ci-dessous est ma page web créée avec Google Feuille de calcul.
https://googledrive.com/host/0B2hsIY7iHEnLS290OHlmRkFmbU0/
Si vous voulez, s’il vous plaît utiliser des sources comme échantillon.

< Scénario supplémentaire >
J’ai développé imgur convertisseur d’URL pour ma page web. Si vous voulez, s’il vous plaît utiliser.
https://github.com/mecrazy/imgurUrlConverter

Je suis désolé.

Mon ancien serveur a été interrompue.
En raison de craquelins.

Mon fournisseur précédent ne la sauvegarde des données.
Je me rétablir dans mes messages en utilisant https://archive.org/web/.
Si vous voulez lire ma page précédente, s’il vous plaît utiliser l’URL comme https://web.archive.org/web/20140401080033/http://admin.mecrazy.net/.

J’ai changé le fournisseur hier.
Cette page est sur Linode.
Ce fournisseur dispose d’un système de sauvegarde. Sa spécification est vraiment élevé.

bochs sur Raspberry Pi

< x86 sur ARM >
J’essaie de lancer DOS sur Debian wheezy sur Raspberry Pi.
( Windows 95 est également possible, mais il est trop lent )

< Installez « bochs » >
Installation « bochs » est très facile.
La ligne de commande est comme ci-dessous.

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

< Image de disque dur générer >
Exécuter « bximage » sur votre Raspberry Pi.
Je recommande d’exécuter « bximage » en tant qu’utilisateur non root.
Vous devez exécuter « bximage » comme un utilisateur qui utilise « bochs ».
C’est 2GB l’image échantillon.

$ 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 », a déclaré à ajouter la ligne « 
ata0-master: type=disk, path= »msdoshdd.img », mode=flat, cylinders=4161, heads=16, spt=63 » à « .bochsrc ».

< Générer « .bochsrc » pour MS-DOS >
Accédez à votre répertoire personnel.
J’utilise « nano » pour éditer des fichiers texte.

$ cd /home/username
$ nano .bochsrc

Mon « .bochsrc » est comme ci-dessous.

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 » est mon fichier MS-DOS amorçable. S’il vous plaît remplacer à n’importe quel fichier bootable iso que vous avez. Dans ma « .bochsrc », la souris n’est pas disponible. Si vous souhaitez utiliser la souris, s’il vous plaît google sur « Comment faire pour modifier bochsrc à utiliser la souris ».

< installer VNC >
Si vous utilisez l’affichage HDMI, vous n’avez pas besoin de cette étape.
Si vous n’utilisez pas l’affichage, vous devez installer le serveur VNC à distance sur X Raspberry Pi.
Exécutez cette ligne de commande en tant que root.

root@myhost:~# apt-get install tightvncserver

Exécutez la ligne de commande en tant qu’utilisateur qui utilisent « 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″ signifie le port « 5901″.
« -geometry 1024×768″ désigne résolution.
« -depth 24″ signifie des couleurs en bits.

< exécuter bochs >
S’il vous plaît se connecter à votre serveur de VNC sur Raspberry Pi. (Ou utiliser « startx » avec affichage HDMI)
Et exécuter terminal. ( Ex. LXTerminal )
Exécuter bochs sur la borne.

$ bochs

Parfois bochs vous demander comme cette syntaxe.

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

Je réponds toujours « alwayscont ».

< Pour être honnête >
J’ai essayé d’installer Windows 95.
Mais il a besoin d’images FD de DOS et Windows 3.1. ( Mon Windows95 est une version mise à jour )
C’était gênant pour moi.
J’ai donc changé mon objectif.

Installer Debian wheezy à LS-XHL

< Avertissement >
Je ne peux rien garantir vos soucis qui se produisent à votre matériel ou de données en suivant ma procédure sur cette page. S’il vous plaît suivez la procédure à votre propre risque.

< Qu’est-ce que «LS-XHL»? >
Il est une sorte de NAS(Network Attached Storage – Wikipedia) faite par Buffalo (société japonaise).
Vous pouvez trouver NAS similaires sur Amazon en cherchant « linkstation ».
Nous pouvons installer Debian sur elle.
( Peut-être que « LS-XHL » est trop vieux pour acheter un nouveau, vous pouvez acheter uniquement d’occasion. )

< J’ai installé Debian wheezy pour «LS-XHL» >
J’ai écrit au sujet de la procédure pour installer Debian Wheezy pour «LS-XHL».
Fondamentalement, je suis «http://www.zorac.org/wp/?p=447»( Page japonais ) et «Buffalo NAS-Central Forums • View topic – LS-CHLv2 – LS-XHL – Debian Wheezy Rootfs – Update 2013.05.15»( Page en anglais ).
Si vous voulez comprendre ou en savoir plus, s’il vous plaît lire ces pages ou google les mots clés sur eux.

< Choses que vous devez >
1. LS-XHL ( LS-VL est similaire à LS-XHL, peut-être seulement mise en réseau est différente. )
2. Debian Wheezy Rootfs ( http://neboola.de/fjen/lschlv2/debian/wheezy/ )
3. Debian ou Ubuntu Machine ( Je recommande ARM machine de CPU. Mais peut-être non-ARM est possible. )
4. USB cas disque dur ( Vous en avez besoin pour connecter temporairement à la machine Linux. Si c’est possible, SATA interne ou tout autre type de connexions sont OK. )

J’ai écrit les procédures de ARM et non ARM comme même que possible, mais certaines procédures sont différentes. J’ai vérifié que la machine ARM. S’il vous plaît soyez prudent.

< Quelque chose comme des pièges >
1. Lorsque j’utilise «Gparted» pour le partitionnement, LS-XHL n’a pas démarré. ( «parted» est OK. )
2. « chroot » pour ce système de fichiers racine est uniquement disponible sur la machine ARM.

< L’étape 1 – Démonter LS-XHL >
J’ai trouvé la bonne vidéo sur Youtube. S’il vous plaît suivre cette.

( Peut-être que le démontage LS-VL est la même. )
La partie en plastique est vraiment facile à briser, s’il vous plaît soyez prudent de ne pas casser lorsque vous l’ouvrez.
Même si vous cassez une partie, peut-être il peut travailler. Ne vous inquiétez pas tellement.
Parce que je casse beaucoup partie en plastique de mon LS-XHL haha …

< L’étape 2 – Partitionnement et le formatage du disque dur >
Démarrez votre machine Linux. ( J’ai utilisé poussif Debian sur Raspberry Pi. )
Connectez la machine Linux en tant que root.
Si votre machine ne dispose pas de «parted», s’il vous plaît installer «parted».
Si votre Linux Debian ou Ubuntu est, exécuter la ligne de commande.

apt-get install parted

Ensuite, connectez votre nouveau disque dur (pour LS-XHL) à cette machine Linux par USB ou tout autre type de connexions.
Et vérifier les informations d’un disque dur. Si votre disque dur est sur ​​ »/dev/sda », exécutez la ligne de commande.

parted /dev/sda print

Dans mon cas, il a montré ce genre.

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

Mot important est «2000GB» en ligne «Disk /dev/sda: 2000GB». S’il vous plaît rappelez la même partie de votre disque dur.
Créer des partitions.

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

C’est mon échantillon.
Je pensais à utiliser
«/dev/sda1» pour «/boot»,
«/dev/sda2» pour «/»,
«/dev/sda3» pour swap,
«/dev/sda4» pour «/home».
Vous avez besoin de changer «2000G» de la ligne «parted -a cylinder /dev/sda mkpart primary 9215 2000G».
Vous pouvez également modifier la taille de chaque partition.
Partitions de définition.

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

Monter des partitions d’élargir Rootfs.

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

< L’étape 3 – Développer Rootfs >
Allez dans le dossier temporaire comme « /tmp ».
Et obtenir «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

Étendre à «/mnt».

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

Télécharger «uImage.buffalo.3.9.2-fjen-1.lsxhl» à «/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

< L’étape 4 – Paramètres de mise à jour >
S’il vous plaît mettre à jour ces cinq dossiers.
/mnt/etc/fstab
/mnt/etc/network/interfaces
/mnt/etc/resolv.conf
/mnt/etc/hostname
/mnt/etc/hosts

C’est mon «/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

C’est mon «/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

Si vous utilisez «LS-VL», il n’a pas «eth1».
Peut-être que «/mnt/etc/network/interfaces» est comme ça.

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

( Ce ne sont que des exemples. S’il vous plaît définir les valeurs correctes pour votre propre réseau. )
C’est mon «/mnt/etc/resolv.conf».

domain linkstation
search linkstation
nameserver 8.8.8.8
nameserver 8.8.4.4

Lignes «domain linkstation» et «search linkstation» ne sont pas nécessaires.
Mon «/mnt/etc/hostname» est «linkstation».
Je n’ai pas mis à jour «/mnt/etc/hosts».
Mais vous pouvez les modifier, si vous le souhaitez.

< L’étape 5 – chroot >
Utilisant chroot, mais ce n’est disponible que sur la même architecture. ( Dans ce cas, c’est l’architecture ARM. )

chroot /mnt

Si vous n’avez pas de machine ARM ou ne parviennent pas à «chroot», passez à l’étape 6.
Si votre « chroot » est réussi, suivre cette voie.

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

< L’étape 6 – Si vous ne pouvez pas «chroot» >

( Je n’ai pas testé cette étape de la procédure, être prudent. Et je recommande à Google des informations à ce sujet. )

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

< L’étape 7 – Réglages de base >
Insérez le disque dur de LS-XHL et démarrer. Lorsque vous faites cela, je vous recommande de ne pas conduire une vis et de ne pas fermer le couvercle. Prêt à ré-installer Debian, si vous ne l’installez.
Connectez «192.168.1.101»(c’est mon exemple) par SSH.
Mot de passe par défaut de root est «toor».

ssh root@192.168.1.101

( C’est par exemple Linux / UNIX. )
Suivez ces commandes après connecté.

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

Ces lignes signifient
Une. Réinitialiser mot de passe root
2. Mettre à jour votre région
3. Mettez à jour votre fuseau horaire
4. Mettre à jour clé SSH
Vous devez SSH déconnexion de mettre à jour la clé SSH client SSH.
Si vous utilisez SSH sur Linux / UNIX, suivez cette commande pour mettre à jour le client clé SSH.

ssh-keygen -R 192.168.1.101

Après cela, re-connecter en tant que root et exécuter «apt-get».

apt-get update
apt-get upgrade

Il est maintenant complète.
S’il vous plaît conduire une vis et fermer le couvercle.
Bonne chance!

< Merci >
Merci beaucoup pour une personne qui a compilé «Debian Wheezy Rootfs», les gens sur le http://forum.buffalo.nas-central.org/viewtopic.php?f=71&t=26291 et une personne qui a écrit http://www.zorac.org/wp/?p=447.
Vous avez fait mon installation beaucoup plus facile! Merci!