Taula de continguts:

Fingiu que sou el servidor Xyzzy a Raspberry Pi: 19 passos
Fingiu que sou el servidor Xyzzy a Raspberry Pi: 19 passos

Vídeo: Fingiu que sou el servidor Xyzzy a Raspberry Pi: 19 passos

Vídeo: Fingiu que sou el servidor Xyzzy a Raspberry Pi: 19 passos
Vídeo: Saiyuki (Сайюки) часть 2 | полный фильм | ☆ японская манга 2024, Juliol
Anonim
Fingiu que sou el servidor Xyzzy a Raspberry Pi
Fingiu que sou el servidor Xyzzy a Raspberry Pi

Aquesta guia us mostrarà com configurar un servidor Pretend You're Xyzzy (PYX) en un Raspberry Pi. Jo en dic XyzzyPi

Fingeix que ets Xyzzy és un clon en línia de codi obert de cartes contra la humanitat que es reprodueix en un navegador web.

A Android també podeu utilitzar l'aplicació Client for Pretend You're Xyzzy.

Quan vaig començar a estudiar la configuració del meu propi servidor PYX, em costava trobar instruccions que no estiguessin actualitzades i que fossin fàcils de seguir. Semblava que la majoria estaven escrits per a persones que ja tenien experiència en la configuració d’un servidor PYX. Vaig poder esbrinar les coses, però volia crear una guia pas a pas per a aquells que no són experts en tecnologia o que no tenen molta experiència amb aquestes coses. A més, no he pogut trobar cap instrucció per fer-lo funcionar en un Raspberry Pi. Després d'algunes proves i errors, vaig poder fer funcionar el servidor PYX en un Pi amb només algunes lleugeres modificacions als fitxers. Espero que això estalviarà temps per a aquells que estiguin interessats.

Ho he fet en un Pi 3 model B + i en un Pi 4 model B 4 GB. Hi ha alguns problemes amb l’ús d’un Pi Zero W a causa que el processador no maneja correctament una màquina virtual Java. Actualment estic intentant que funcioni amb un Zero W i actualitzaré les instruccions si tinc èxit. No tinc un Pi 1 o 2 per provar, de manera que això pot funcionar o no.

He intentat que aquest tutorial sigui fàcil de seguir per a persones de tots els nivells d’habilitat, de manera que hi pot haver coses que ja sabeu.

Si ja sabeu com instal·lar Raspbian i connectar-vos al Pi, passeu al pas 6

Si teniu experiència amb la configuració d’un servidor PYX i només voleu conèixer les modificacions necessàries perquè funcioni en un Pi, passeu al pas 13

Exempció de responsabilitat: no he creat Pretend You're Xyzzy ni l'aplicació client d'Android.

El crèdit per crear Pretend You're Xyzzy va a l'usuari de GitHub ajanata (https://github.com/ajanata/PretendYoureXyzzy)

El crèdit per crear client per a la simulació que ets Xyzzy va a Gianlu (https://play.google.com/store/apps/dev?id=8675761046824387020)

Si hi ha algú que trobés a faltar, si us plau, feu-m'ho saber.

Subministraments

Maquinari:

Raspberry Pi 3 o 4

Targeta Micro SD (estic utilitzant targetes micro SD de 32 GB perquè és el que tinc a mà. Probablement us en pugueu quedar amb només 2 GB, però us recomanaria almenys 4 GB).

PC amb lector de targetes SD (estic fent servir Windows per a aquest tutorial. Si utilitzeu Linux, probablement ja estigueu familiaritzat amb moltes coses així, ajusteu les instruccions segons calgui).

Programari:

Imatge Raspbian: https://www.raspberrypi.org/downloads/raspbian/ (Qualsevol hauria de funcionar. Estic fent servir Raspbian Buster Lite en el moment d’escriure-ho).

Imatge de disc Win32: https://sourceforge.net/projects/win32diskimager/ (Hi ha altres programes que podeu utilitzar per fer flash la imatge de Raspbian però aquesta és la meva preferència personal).

Massilla:

Pas 1: Flash Raspbian a la targeta SD

Flash Raspbian a la targeta SD
Flash Raspbian a la targeta SD

Introduïu la targeta SD al lector de targetes de l'ordinador abans d'obrir el Win32 Disk Imager. A continuació, seleccioneu la vostra imatge Raspbian i la lletra de la unitat de la targeta SD i feu clic a "Escriu".

ATENCIÓ: Qualsevol cosa de la targeta SD se suprimirà i sobreescriurà. Si hi ha dades importants a la targeta SD, còpia de seguretat primer. A més, assegureu-vos de seleccionar la lletra de la unitat correcta per a la vostra targeta SD. En cas contrari, es podria esborrar / sobreescriure la unitat equivocada sense voler-ho

Un cop acabat, tindreu dues unitats separades a la targeta SD. Un cop anomenat boot i que Windows no sap llegir. Probablement obtindreu una finestra emergent a Windows que us demanarà que formateu la targeta. Només cal que feu clic a Cancel·la. Si el formateu, haurà de tornar a llampar Raspbian.

Pas 2: creeu un fitxer de text anomenat "wpa_supplicant.conf" a la unitat d'arrencada

Creeu un fitxer de text amb nom
Creeu un fitxer de text amb nom

A la unitat d’arrencada de la targeta SD, creeu un fitxer de text anomenat wpa_supplicant.conf i enganxeu-hi el codi següent. Substituïu "nom de wifi" i "contrasenya" pel vostre nom i contrasenya de wifi reals, però mantingueu les cometes al voltant. Deseu el fitxer.

Això permetrà que el vostre Pi es connecti al vostre wifi. Si utilitzeu un cable Ethernet per connectar el vostre Pi a la vostra xarxa, probablement podeu ometre aquest pas.

Assegureu-vos que l’extensió del fitxer sigui correcta. Ha de ser wpa_supplicant.conf no wpa_supplicant.conf.txt

country = usupdate_config = 1 ctrl_interface = / var / run / wpa_supplicant

xarxa = {

scan_ssid = 1 ssid = "nom del wifi" psk = "contrasenya"}

Pas 3: creeu un fitxer buit anomenat "ssh" a la unitat d'arrencada

Creeu un fitxer buit amb nom
Creeu un fitxer buit amb nom

A la unitat d’arrencada de la targeta SD, creeu un fitxer buit anomenat ssh

No necessita tenir-hi res, només cal nomenar-lo correctament.

Això habilitarà ssh al vostre Pi, que us permetrà connectar-vos-hi mitjançant Putty.

Assegureu-vos que el fitxer només s’anomeni ssh sense cap extensió. No ssh.txt, etc

Pas 4: expulseu la targeta SD del vostre ordinador, poseu-la al vostre Pi i engegueu el vostre Pi

Expulseu la targeta SD del vostre ordinador, poseu-la al Pi i engegueu el Pi.

Si tot va funcionar, el vostre Pi s'engegarà i es connectarà al vostre wifi.

Doneu-li un parell de minuts per revisar la configuració inicial.

Pas 5: connecteu-vos al vostre Pi mitjançant Putty

Connecteu-vos al vostre Pi mitjançant Putty
Connecteu-vos al vostre Pi mitjançant Putty
Connecteu-vos al vostre Pi mitjançant Putty
Connecteu-vos al vostre Pi mitjançant Putty

Obriu Putty i, al quadre Nom de l’amfitrió, escriviu raspberrypi assegurant-vos que el tipus de connexió és SSH i que el port és 22. Si es connecta, se us dirigirà a una pantalla negra amb el text conegut com a terminal. Us demanarà el vostre nom d’usuari i contrasenya. El nom d'usuari per defecte és "pi" i la contrasenya per defecte és "raspberry". Es recomana canviar la contrasenya sobretot si teniu previst exposar el vostre Pi a Internet. Per fer-ho, escriviu "passwd" un cop hàgiu iniciat la sessió i seguiu les instruccions. Assegureu-vos de triar una contrasenya que recordareu.

Si no es connecta, potser haureu de trobar l'adreça IP que utilitza el vostre Pi. Hi ha diverses maneres de fer-ho, però personalment només accedo al meu enrutador i comprovo la llista de dispositius connectats. Un cop trobeu la IP del vostre tipus Pi, introduïu-la al quadre Nom de l’amfitrió de Putty en lloc de raspberrypi i proveu de tornar a connectar-vos.

Si encara no us podeu connectar, és possible que no hàgiu creat correctament el fitxer ssh. Llegiu els passos anteriors i reviseu-ho tot.

Pas 6: Opcional: canvieu el nom de l'amfitrió del vostre Pi

Opcional: canvieu el nom d'amfitrió del vostre Pi
Opcional: canvieu el nom d'amfitrió del vostre Pi
Opcional: canvieu el nom de l'amfitrió del vostre Pi
Opcional: canvieu el nom de l'amfitrió del vostre Pi
Opcional: canvieu el nom d'amfitrió del vostre Pi
Opcional: canvieu el nom d'amfitrió del vostre Pi

Això no és necessari, però prefereixo tenir el nom d'amfitrió del meu Pi com a quelcom rellevant per al que s'utilitza en lloc del genèric "raspberrypi". En aquest cas el vaig anomenar "xyzzypi", però podeu anomenar-lo com vulgueu.

Per canviar el tipus de nom d'amfitrió:

sudo raspi-config

Seleccioneu Opcions de xarxa

Seleccioneu Nom d'amfitrió

Introduïu el nom d'amfitrió que vulgueu

Seleccioneu Finalitza

Us preguntarà si voleu reiniciar el Pi ara. El nou nom d'amfitrió no entrarà en vigor fins que no reinicieu. Si ho feu, la sessió de Putty es desconnectarà. Un cop s'hagi acabat de reiniciar, haureu d'utilitzar el nou nom d'amfitrió que hàgiu definit per tornar a connectar amb Putty. Si us connecteu amb l'adreça IP en lloc del nom d'amfitrió, hauria de seguir sent el mateix.

Hi ha moltes altres opcions que podeu configurar mitjançant l'eina raspi-config, però hi ha molts tutorials sobre això en línia, de manera que no hi entraré.

Pas 7: actualitzeu els paquets d'aplicacions

Actualitzeu els paquets de sol·licituds
Actualitzeu els paquets de sol·licituds

Actualitzeu els paquets d'aplicacions mitjançant l'ordre següent:

sudo apt-get update

Deixeu-lo córrer fins que estigui acabat.

Nota: Tècnicament ja no cal escriure "apt-get", només cal escriure "apt". Tot i això, estic tan acostumat a escriure "apt-get" que en aquest moment és només memòria muscular.

Pas 8: instal·leu Git

Instal·leu Git
Instal·leu Git

Un cop acabats els paquets d'aplicacions, instal·leu Git mitjançant l'ordre següent:

sudo apt-get -y install git

Deixeu-lo córrer fins que acabi.

Pas 9: instal·leu Maven

Instal·leu Maven
Instal·leu Maven

Instal·leu Maven mitjançant l'ordre següent:

sudo apt-get -y install maven

Deixeu-lo córrer fins que acabi

Pas 10: descarregueu els fitxers del servidor de simulació de Xyzzy

Descarregueu els fitxers del servidor Pretend You're Xyzzy Server
Descarregueu els fitxers del servidor Pretend You're Xyzzy Server

Descarregueu els fitxers del servidor Pretend You're Xyzzy amb l'ordre següent:

git clonar git: //github.com/ajanata/PretendYoureXyzzy.git

Això crearà un directori al vostre Pi anomenat PretendYoureXyzzy i en descarregarà els fitxers.

Deixeu-lo córrer fins que acabi.

Pas 11: canvieu al directori PretendYoureXyzzy

Canvieu al directori PretendYoureXyzzy
Canvieu al directori PretendYoureXyzzy

Canvieu al directori PretendYoureXyzzy mitjançant l'ordre següent:

cd PretendYoureXyzzy

Nota: les ordres de Linux distingeixen entre majúscules i minúscules, de manera que cd PretendYoureXyzzy funcionarà, però cd pretendyourexyzzy no.

Pas 12: obriu i editeu el fitxer "build.properties.example" i deseu-lo com a "build.properties"

Obriu i editeu el fitxer
Obriu i editeu el fitxer
Obriu i editeu el fitxer
Obriu i editeu el fitxer
Obriu i editeu el fitxer
Obriu i editeu el fitxer

Obriu el fitxer build.properties.example amb nano editor de text mitjançant l'ordre següent:

sudo nano build.properties.example

Utilitzar un editor de text basat en terminals pot semblar una mica intimidatori per a aquells que no hi estan acostumats, però el que estem fent és molt senzill.

Utilitzeu la tecla de fletxa avall per desplaçar-vos cap avall fins que trobeu les seccions que diuen "hibernate.username" i "hibernate.password".

Utilitzeu la tecla de fletxa dreta per passar al final d'aquestes línies i canvieu el nom d'usuari i la contrasenya per una altra cosa. Sincerament, no sé si és realment necessari, però no em sento còmode deixar-los amb el nom d'usuari i la contrasenya predeterminats amb què van venir.

Un cop els hàgiu canviat, premeu ctrl + o per obrir el diàleg de desar.

Retrocés per eliminar ".example" del final del nom del fitxer, de manera que només us quedarà "build.properties"

Us preguntarà si voleu desar el fitxer amb un nom diferent. Premeu y per afirmar que sí.

Premeu ctrl + x per tancar l'editor de text nano.

Pas 13: obriu i editeu el fitxer "pom.xml" (Això és el que fa que funcioni en un PI)

Obriu i editeu el fitxer
Obriu i editeu el fitxer
Obriu i editeu el fitxer
Obriu i editeu el fitxer

Obriu el fitxer pom.xml amb un editor de text nano mitjançant l'ordre següent:

sudo nano pom.xml

Desplaceu-vos cap avall com abans. Aquesta vegada la línia que busqueu és sqlite-jdbc

Just a sota d’aquesta línia hi ha una línia amb un número de versió. Heu de canviar aquest número a 3.28.0 de manera que sembli:

3.28.0

Un cop hàgiu editat el número de versió, premeu ctrl + o per obrir el diàleg de desat.

Deseu el nom del fitxer com a "pom.xml" i deseu-lo.

Un cop desat, premeu ctrl + x per tancar l'editor de text nano.

Aquesta és l’edició que fa que el servidor Pretend You're Xyzzy s’executi en un Pi. La versió sqlite-jdbc que inclou no funcionarà correctament en un Pi. La versió 3.28.0 funciona molt bé en les meves proves fins ara

Pas 14: Inicieu el simulador de servidor Xyzzy i assegureu-vos que funciona

Inicieu el simulador de servidor Xyzzy i assegureu-vos que funciona
Inicieu el simulador de servidor Xyzzy i assegureu-vos que funciona
Inicieu el simulador de servidor Xyzzy i assegureu-vos que funciona
Inicieu el simulador de servidor Xyzzy i assegureu-vos que funciona
Inicieu el simulador de servidor Xyzzy i assegureu-vos que funciona
Inicieu el simulador de servidor Xyzzy i assegureu-vos que funciona

Ara que heu fet les modificacions necessàries per executar un servidor Pretend You're Xyzzy al vostre Pi, posem-lo en marxa i comprovem si tot funciona. Inicieu el servidor mitjançant l'ordre següent:

mvn clean package war: moll explotat: run -Dmaven.buildNumber.doCheck = false -Dmaven.buildNumber.doUpdate = false

Descarregarà alguns fitxers addicionals, els compilarà i iniciarà el servidor. Probablement trigarà un parell de minuts.

Nota: Actualment, aquesta és l'única manera de saber fer funcionar el servidor, de manera que es compilarà cada vegada que l'engegueu.

Sabreu que es fa quan rebreu un missatge que diu "La recàrrega de la consola està HABILITADA. Prem ENTER a la consola per reiniciar el context".

En aquest moment, podeu obrir el navegador i escriure el nom de l’amfitrió (o l’adreça IP) del Pi afegint el port 8080 al final. Així doncs, nom d’amfitrió: 8080 o IP: 8080

Si utilitzeu xyzzypi com a nom d'amfitrió, seria xyzzypi: 8080 o, en el meu cas, utilitzant la IP, seria 192.168.1.189:8080

Si tot va funcionar, se us dirigirà a la pàgina principal de Pretend You're Xyzzy.

Enhorabona! Ja ho heu fet

Tanmateix, ara mateix només s'executarà si inicieu sessió al vostre Pi amb Putty i executeu l'ordre anterior per iniciar el servidor. Un cop tanqueu Putty, el servidor s'aturarà. Pot ser que estigui bé per a algunes persones, però és possible que vulgueu que el servidor Pretend You're Xyzzy s'executi automàticament cada vegada que s'inicia el Pi o es reinicia sense haver d'iniciar la sessió. Els passos següents es refereixen a fer que funcioni.

Pas 15: Feu un script per iniciar el simulador de servidor Xyzzy

Feu un script per iniciar el simulador de servidor Xyzzy
Feu un script per iniciar el simulador de servidor Xyzzy
Feu un script per iniciar el simulador de servidor Xyzzy
Feu un script per iniciar el simulador de servidor Xyzzy

Si volem que el servidor Pretend You're Xyzzy s’iniciï automàticament quan el Pi s’engega o es reinicia, el primer que hem de fer és crear un script.

Premeu ctrl + c per aturar el servidor.

Un cop s'atura, escriviu l'ordre següent:

sudo nano xyzzy.sh

Nota: He anomenat el meu script xyzzy.sh però el podeu anomenar com vulgueu. Assegureu-vos que té.sh com a extensió de fitxer.

Amb l’editor de text nano, escriviu o enganxeu el següent al fitxer:

#! / bin / bashcd / home / pi / PretendYoureXyzzy mvn clean package war: moll exploded: run -Dmaven.buildNumber.doCheck = false -Dmaven.buildNumber.doUpdate = false

Premeu ctrl + o per obrir el diàleg de desar

Deseu el fitxer i premeu ctrl + x per tancar nano

Pas 16: feu que el vostre script sigui executable

Feu que el vostre guió sigui executable
Feu que el vostre guió sigui executable

Hem de fer que l'script sigui executable mitjançant l'ordre següent:

sudo chmod 755 xyzzy.sh

Nota: Si heu anomenat un script diferent al pas anterior, feu servir aquest nom de fitxer.

Pas 17: creeu una entrada Crontab per executar automàticament el vostre script a l'arrencada

Creeu una entrada Crontab per executar automàticament el vostre script a l'arrencada
Creeu una entrada Crontab per executar automàticament el vostre script a l'arrencada
Creeu una entrada Crontab per executar automàticament el vostre script a l'arrencada
Creeu una entrada Crontab per executar automàticament el vostre script a l'arrencada
Creeu una entrada Crontab per executar automàticament el vostre script a l'arrencada
Creeu una entrada Crontab per executar automàticament el vostre script a l'arrencada

Hi ha diverses maneres de fer que un script s’executi a l’arrencada. Estic fent servir crontab aquí.

Editeu les taules crontab amb l'ordre següent:

crontab -e

Us preguntarà quin editor voleu utilitzar. Escriviu 1 i premeu Retorn per utilitzar nano.

Un cop obert, desplaceu-vos fins a la part inferior i afegiu la línia següent:

@reboot /home/pi/PretendYoureXyzzy/xyzzy.sh

Nota: De nou, si heu utilitzat un nom de fitxer diferent per al vostre tipus de script, Premeu ctrl + o per obrir el diàleg de desar.

Deseu i premeu ctrl + x per tancar nano.

Pas 18: reinicieu el Pi i vegeu si us podeu connectar per fer veure que sou Xyzzy

Reinicieu el Pi i vegeu si us podeu connectar per fer veure que sou Xyzzy
Reinicieu el Pi i vegeu si us podeu connectar per fer veure que sou Xyzzy

Ara que teniu el servidor Pretend You're Xyzzy configurat per executar-se a l'arrencada, podeu reiniciar el Pi i assegurar-vos que tot funcioni.

Reinicieu amb l'ordre següent:

sudo reiniciar

Un cop es faci una còpia de seguretat del Pi, trigareu un parell de minuts a recompilar-ho tot per al servidor. Doneu-li temps i, a continuació, proveu de connectar-vos al navegador de nou mitjançant el nom de l’amfitrió o la IP del Pi, afegint el port 8080 al final.

xyzzypi: 8080 o adreça IP: 8080

Si tot va funcionar, se us dirigirà a la pàgina de Fingir que sou Xyzzy.

Enhorabona! Ara teniu un servidor Pretend You're Xyzzy que s’executa automàticament en un Raspberry Pi

Pas 19: Opcional: reenvieu els ports per permetre l'accés al vostre servidor que pretén ser Xyzzy a través d'Internet

Ara, doncs, teniu un servidor Pretend You're Xyzzy en funcionament, però de moment només és accessible a la vostra xarxa local. Això funciona bé si teniu un grup d'amics per jugar a casa vostra, però la gent que no formi part de la vostra xarxa local no es podrà connectar.

Haureu de buscar instruccions de reenviament de ports per al vostre encaminador específic si encara no sabeu com fer-ho. Fingiu que esteu Xyzzy utilitza el port 8080, de manera que aquest és el port que voldreu reenviar. Un cop ho hàgiu configurat, podreu proporcionar als vostres amics la vostra adreça IP externa i el vostre port i es podran connectar al vostre servidor a través d'Internet.

Si ho volguéssiu, també podríeu configurar el DNS dinàmic de manera que tingueu el vostre propi URL (com JoesPYXserver.noip.com) per entregar als amics perquè es connectin al vostre servidor. Ja hi ha molts tutorials per a aquest tipus de coses.

Recomanat: