diff --git a/src/assets/macchinisti/illya-serdyuk.jpg b/src/assets/macchinisti/illya-serdyuk.jpg new file mode 100644 index 0000000..f24308c Binary files /dev/null and b/src/assets/macchinisti/illya-serdyuk.jpg differ diff --git a/src/content/guides/2024-02-29-git-101.md b/src/content/guides/2024-02-29-git-101.md index 25fe2e0..24cb350 100644 --- a/src/content/guides/2024-02-29-git-101.md +++ b/src/content/guides/2024-02-29-git-101.md @@ -1,7 +1,7 @@ --- id: git-101 title: Git 101 -description: Una guida introduttiva alle basi di Git +description: Una guida 📚 introduttiva alle basi di Git author: Luca Lombardo tags: [git, gitea] --- diff --git a/src/content/guides/2024-07-30-pagina-poisson-con-astro.md b/src/content/guides/2024-07-30-pagina-poisson-con-astro.md index 254bd95..9d21c95 100644 --- a/src/content/guides/2024-07-30-pagina-poisson-con-astro.md +++ b/src/content/guides/2024-07-30-pagina-poisson-con-astro.md @@ -1,7 +1,7 @@ --- id: pagina-poisson-con-astro title: Pagina Poisson con Astro -description: Vediamo come creare una pagina Poisson moderna con Astro +description: Vediamo come creare una pagina Poisson moderna ⚡ con Astro author: Antonio De Lucreziis tags: [astro, website] --- diff --git a/src/content/guides/2024-11-03-deploy-with-github-actions.md b/src/content/guides/2024-11-03-deploy-with-github-actions.md index 02da8c9..2c2c493 100644 --- a/src/content/guides/2024-11-03-deploy-with-github-actions.md +++ b/src/content/guides/2024-11-03-deploy-with-github-actions.md @@ -1,18 +1,18 @@ --- id: deploy-with-github-actions title: Deploy automatico per Poisson da GitHub -description: Come impostare il deploy automatico per la propria pagina Poisson utilizzando le GitHub Actions +description: Come impostare il deploy automatico per la propria pagina Poisson tramite le GitHub Actions author: Antonio De Lucreziis tags: [github, poisson, sito] --- -Supponiamo di avere un sito web statico che vogliamo caricare su Poisson, ad esempio un progetto NodeJS che genera in `dist/` o `out/` i file da caricare. Come possiamo automatizzare il processo di deploy su Poisson? +Supponiamo di avere un sito web statico che vogliamo caricare su Poisson, ad esempio un progetto NodeJS che genera in `dist/` o `out/` i file da caricare. Come possiamo automatizzare il processo di deploy su Poisson? -Vediamo come automatizzare questo processo utilizzando le GitHub Actions. +Vedremo come deployare il nostro sito, e successivamente come automatizzare il deployment con le GitHub Actions. -## Setup +## Setup manuale -Manualmente, possiamo costruire il nostro progetto in locale e poi caricare i file su Poisson utilizzando `rsync`, ad esempio come segue: +Come primo approccio, potremmo compilare il nostro progetto in locale e poi caricare i file su Poisson utilizzando `rsync`, ad esempio come segue: ```bash $ npm run build @@ -28,49 +28,49 @@ Per automatizzare questo processo possiamo caricare il nostro progetto su GitHub ```yaml name: Deploy to Poisson on: - push: - branches: - - main + push: + branches: + - main jobs: - deploy: - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Write SSH keys - run: | - install -m 600 -D /dev/null ~/.ssh/known_hosts - install -m 600 -D /dev/null ~/.ssh/id_ed25519 - echo "${{ secrets.SSH_KNOWN_HOSTS }}" > ~/.ssh/known_hosts - echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_ed25519 - - - name: Setup Node.js - uses: actions/setup-node@v3 - with: - node-version: '23' - - - name: Install dependencies - run: npm install - - - name: Build - run: npm run build - - - name: Deploy - run: rsync -cavz dist/ ${{ secrets.SSH_USER }}@poisson.phc.dm.unipi.it:public_html/ + deploy: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Write SSH keys + run: | + install -m 600 -D /dev/null ~/.ssh/known_hosts + install -m 600 -D /dev/null ~/.ssh/id_ed25519 + echo "${{ secrets.SSH_KNOWN_HOSTS }}" > ~/.ssh/known_hosts + echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_ed25519 + + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: '23' + + - name: Install dependencies + run: npm install + + - name: Build + run: npm run build + + - name: Deploy + run: rsync -cavz dist/ ${{ secrets.SSH_USER }}@poisson.phc.dm.unipi.it:public_html/ ``` ## Comando rsync Il comando `rsync` ha le seguenti opzioni: -- `-c` per controllare i file tramite checksum invece che per data e dimensione (che sono sempre diverse visto che stiamo ricosruendo il sito ogni volta con le GitHub Actions) +- `-c` per controllare i file tramite checksum invece che per data e dimensione (che sono sempre diverse visto che stiamo ricosruendo il sito ogni volta con le GitHub Actions) -- `-a` per copiare ricorsivamente i file e mantenere i permessi +- `-a` per copiare ricorsivamente i file e mantenere i permessi -- `-v` per mostrare i file copiati +- `-v` per mostrare i file copiati -- `-z` per comprimere i file durante il trasferimento +- `-z` per comprimere i file durante il trasferimento ## SSH Segreti @@ -79,13 +79,13 @@ Per stabilire una connessione SSH a Poisson dalle GitHub Actions in modo sicuro, ```yaml - name: Write SSH keys run: | - install -m 600 -D /dev/null ~/.ssh/known_hosts - install -m 600 -D /dev/null ~/.ssh/id_ed25519 - echo "${{ secrets.SSH_KNOWN_HOSTS }}" > ~/.ssh/known_hosts - echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_ed25519 + install -m 600 -D /dev/null ~/.ssh/known_hosts + install -m 600 -D /dev/null ~/.ssh/id_ed25519 + echo "${{ secrets.SSH_KNOWN_HOSTS }}" > ~/.ssh/known_hosts + echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_ed25519 ``` -Questa è la parte più importante del workflow, che permette di autenticarsi su Poisson senza dover inserire la password ogni volta (cosa che non possiamo materialmente fare dall GitHub Actions). +Questa è la parte più importante del workflow, che permette di autenticarsi su Poisson senza dover inserire la password ogni volta (cosa che non possiamo materialmente fare dall GitHub Actions). Per farlo, creiamo in locale una coppia di chiavi SSH apposta per le GitHub Actions e aggiungiamo la chiave pubblica su Poisson. Per farlo, possiamo seguire questi passaggi: @@ -96,7 +96,7 @@ $ ssh-copy-id -i actions-deploy-key @poisson.phc.dm.unipi.it Qui generiamo una chiave ssh utilizzando l'algoritmo `ed25519` (leggermente più consigliato rispetto a `rsa`, in particolare ha anche chiavi più corte), `-C` aggiunge semplicemente un commento alla chiave e `-f` specifica il file in cui salvare la chiave. -Poi eseguendo `cat actions-deploy-key` possiamo copiare il contenuto della chiave privata ed aggiungiamo il contenuto in un segreto chiamato `SSH_PRIVATE_KEY` nella nostra repository. +Poi eseguendo `cat actions-deploy-key` possiamo copiare il contenuto della chiave privata ed aggiungiamo il contenuto in un segreto chiamato `SSH_PRIVATE_KEY` nella nostra repository GitHub. Poi, per evitare che la connessione venga rifiutata, eseguiamo in locale anche uno scan delle chiavi SSH di Poisson: @@ -104,8 +104,8 @@ Poi, per evitare che la connessione venga rifiutata, eseguiamo in locale anche u $ ssh-keyscan poisson.phc.dm.unipi.it ``` -(se l'output è vuoto riprovare con `ssh-keyscan -4 ...`) e copiamo l'output in un segreto della nostra repository chiamato `SSH_KNOWN_HOSTS`. +(se l'output è vuoto riprovare con `ssh-keyscan -4 ...`) e copiamo l'output in un segreto della nostra repository chiamato `SSH_KNOWN_HOSTS`. Infine possiamo aggiungere anche un segreto `SSH_USER` con il nostro username o modificare anche direttamente il workflow ed inserire l'username direttamente nel file. -Ora ogni volta che facciamo un push sul branch `main` il nostro sito verrà automaticamente costruito e caricato su Poisson! \ No newline at end of file +Ora ogni volta che facciamo un push sul branch `main` il nostro sito verrà automaticamente costruito e caricato su Poisson! diff --git a/src/content/guides/2024-11-17-attivazione-poisson.md b/src/content/guides/2024-11-17-attivazione-poisson.md index f4694f8..7f9fc6c 100644 --- a/src/content/guides/2024-11-17-attivazione-poisson.md +++ b/src/content/guides/2024-11-17-attivazione-poisson.md @@ -1,9 +1,9 @@ --- id: attivazione-poisson title: Come attivare il proprio account Poisson -description: Guida per l'attivazione dell'account Poisson, con le istruzioni per il primo accesso e la configurazione del proprio spazio web +description: Guida all'attivazione dell'account Poisson, con istruzioni per il primo accesso e configurazione del proprio sito author: Luca Lombardo -tags: [poisson] +tags: [poisson, sito, ssh] --- Poisson è un server autogestito dalla comunità studentesca di matematica, da sempre gestito con cura dai membri del PHC. Ogni studentə ha la possibilità di attivare un account personale, che consente l'accesso alla macchina via SSH e la creazione di uno spazio web personale. diff --git a/src/content/guides/2024-11-17-recupero-password-poisson.md b/src/content/guides/2024-11-17-recupero-password-poisson.md index 7e82924..dad8899 100644 --- a/src/content/guides/2024-11-17-recupero-password-poisson.md +++ b/src/content/guides/2024-11-17-recupero-password-poisson.md @@ -1,7 +1,7 @@ --- id: recupero-password title: MI SONO SCORDATO LA PASSWORD DI POISSON COME FACCIO ORA? -description: Hai dimenticato la tua password Poisson? Niente paura, ecco cosa fare! +description: Hai dimenticato la tua password Poisson? Niente paura, vediamo cosa fare! 💪 author: Luca Lombardo tags: [poisson, password] --- diff --git a/src/content/guides/2024-12-22-eliminare-sito-poisson.md b/src/content/guides/2024-12-22-eliminare-sito-poisson.md index e29c814..ff3a5bd 100644 --- a/src/content/guides/2024-12-22-eliminare-sito-poisson.md +++ b/src/content/guides/2024-12-22-eliminare-sito-poisson.md @@ -1,16 +1,16 @@ --- id: eliminare-sito-poisson -title: Come si toglie la pagina Poisson da Google? -description: Sei divenuto troppo famoso e vuoi eliminare la tua pagina Poisson dai risultati di ricerca di Google? Ecco come fare! +title: Come tolgo la mia pagina Poisson da Google? +description: Sei divenuto troppo famoso 🤩 e vuoi eliminare la tua pagina Poisson dai risultati di ricerca di Google? Ecco come farlo! author: Antonio De Lucreziis tags: [poisson, sito] --- -Hai un nuovo sito web e vuoi che venga indicizzato da Google prima della tua pagina Poisson? Oppure sei diventato troppo famoso e vuoi eliminare la tua pagina Poisson dai risultati di ricerca di Google? In entrambi i casi, ora vediamo come fare. +Hai un nuovo sito web e vuoi che venga indicizzato da Google prima della tua pagina Poisson? Oppure sei diventato troppo famoso, e vuoi eliminare la tua pagina Poisson dai risultati di ricerca di Google? In entrambi i casi, vediamo come fare. -Breve premessa, la tua pagina Poisson è indicizzata da Google perché è pubblica e accessibile a tutti. Per "toglierla" dai risultati di ricerca, bisogna dire a Google di non indicizzarla più. Per fare questo per prima cosa bisogna dire a Google che siamo i proprietari di quella pagina e poi chiedere di rimuoverla. +Breve premessa: la tua pagina Poisson è indicizzata da Google, in quanto pubblica e accessibile a tutti. Per "toglierla" dai risultati di ricerca, bisogna dire a Google di non indicizzarla più. Per fare questo dobbiamo innanzitutto far capire a Google che siamo i proprietari di quella pagina, e poi chiedere di rimuoverla. -In questo articolo sostituisci sempre `USERNAME` con il tuo username Poisson (non `n.cognome`, quello è il tuo username di Ateneo). +> **Attenzione**: in questo articolo, sostituisci sempre `USERNAME` con il tuo username Poisson (non `n.cognome`, quello è il tuo username di Ateneo). ## Cancellazione pagina Poisson @@ -24,7 +24,7 @@ $ cd public_html $ rm -rf * ``` -**Attenzione!** La cartella `public_html` nella propria home in realtà è un **link simbolico** alla cartella `public_html` che in realtà sta da un'altra parte. Per cancellare tutto il contenuto della propria pagina Poisson, bisogna proprio cancellare tutti i file dentro la cartella `public_html` _e non la cartella stessa_. +> **Attenzione!** La cartella `public_html` nella propria home in realtà è un **link simbolico** alla cartella `public_html`, che fisicamente sta in un altro percorso. Per cancellare tutto il contenuto della propria pagina Poisson, bisogna proprio cancellare tutti i file dentro la cartella `public_html`, _e non la cartella stessa_. ## Google Search Console diff --git a/src/content/meta/whats-phc.md b/src/content/meta/whats-phc.md index b936413..0386b43 100644 --- a/src/content/meta/whats-phc.md +++ b/src/content/meta/whats-phc.md @@ -3,10 +3,10 @@ title: Cos'è il PHC? --- -Il **PHC** è un laboratorio informatico, gestito dagli studenti del **Dipartimento di Matematica** di Pisa e nato nel 1999, che offre vari servizi agli studenti come [Poisson](https://poisson.phc.dm.unipi.it), che ospita le pagine degli studenti. +Il **PHC** è un laboratorio informatico nato nel 1999 e gestito dagli studenti del **Dipartimento di Matematica** di Pisa. -La sede del PHC è la [stanza 106](https://www.dm.unipi.it/mappa/?sel=638cd24b50cf34e03924a00c) del Dipartimento, dove si trovano i **macchinisti** per discutere e realizzare progetti [hardware](http://steffe.cs.dm.unipi.it/) e [software](https://lab.phc.dm.unipi.it/orario), e occuparsi di server autogestiti. +La sede del PHC è la [stanza 106](https://www.dm.unipi.it/mappa/?sel=638cd24b50cf34e03924a00c) del Dipartimento, dove i **macchinisti** si ritrovano per realizzare progetti [hardware](http://steffe.cs.dm.unipi.it/) e [software](https://lab.phc.dm.unipi.it/orario), ed occuparsi di alcuni servizi per gli studenti come il server [Poisson](https://poisson.phc.dm.unipi.it), che ospita le pagine degli studenti. -Le macchine del PHC girano principalmente Linux/Unix come sistemi operativi e i macchinisti sono grandi sostenitori di software [FOSS](https://it.wikipedia.org/wiki/Free_and_Open_Source_Software) (che loro stessi sviluppano sull'[istanza Gitea del PHC](https://git.phc.dm.unipi.it/phc)). +In PHC si usano principalmente sistemi operativi basati su **Linux**, ed i macchinisti sono grandi sostenitori del FOSS (che loro stessi sviluppano sulla propria istanza [Gitea](https://git.phc.dm.unipi.it/phc)). -La lista dei vari macchinisti e di altri eventi notevoli si trova nella [pagina della storia](/storia) del PHC. +La lista dei vari macchinisti e di altri eventi notevoli si trova nella pagina dedicata alla [storia](/storia) del PHC. diff --git a/src/pages/index.astro b/src/pages/index.astro index ec38489..b45c062 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -167,15 +167,18 @@ const galleryCollage = await Astro.glob('@/assets/gallery/*.jpg')

Nessuno lo sa di preciso, ma facciamo molte cose: