index.js auf FTP Server?

3 Antworten

Ave!

Ich würde es einmal mit 775 versuchen.

So besitzt nicht nur der Owner volle Rechte, sondern auch jegliche Untergruppen.

Wenn dies auch nicht funktioniert wäre die letzte Möglichkeit die 777.

Anbei:

Auf einem gewöhnlich gemieteten Webspace ist es nicht möglich Node.js auszuführen.

Das hat unter anderem mit der Struktur und der Sicherheit zu tun.

Hier kannst du ausschließlich (X)HTML und PHP realisieren.
Sprich: Dateien, die der Webserver selbst bearbeitet.

Node.js ist eine Laufzeitumgebung für JavaScript, die nicht nur als Webserver agieren kann.

Das stellt ein Sicherheitsproblem dar, da die wenigstens Webspaces im eigenen Container laufen.

Was du benötigst ist entweder ein Virtualisierter oder Dedizierter Server, mit Konsolenzugriff.

Grüßchen.

Hey,

"Website laden" was genau meinst Du da? Über einen FTP Client, oder doch eher über einen Browser?

Filezilla ist ein FTP Server.

Dein Browser stellt eine http Anfrage an die eingegebene IP-Adresse vermutlich auf Port 80. Auf Port 80 lauscht auf deinem "Server" vermutlich kein einziger Prozess.

Du brauchst einen Web-Server, zum Beispiel Nginx, oder wie wäre so ein "Rund-um-Paket" wie XAMPP?

Ansonsten, wo läuft der Server? Lokal bei dir? Oder hast Du einen Hoster? Welcher Hoster?

Gruß

BwIok 
Fragesteller
 11.09.2021, 13:20

also mit Website laden meine über einen Browser und ich habe einen ftp server und doch nd nen webserver

0
AldoradoXYZ  11.09.2021, 13:31
@BwIok

Gut, dann musst Du den WebServer konfigurieren.

Typischerweise öffnet man die JavaScript-Datei nicht im Browser direkt, sondern man bindet eine Referenz auf die JavaScript-Datei in ein HTML ein.

Die Html Seite (zum Beispiel index.html) ruft man dann per Browser auf und der Browser läd dann die darin referenzierte JavaScript-Datei.

Könnte dann so aus:

<!DOCTYPE html>
<html>
  <body>
    <script src="myScript.js"></script>
  </body>
</html>

Mein Vorschlag wäre, fang mit einer index.html an und guck, dass die erst mal angezeigt wird. Dann bau eine JavaScript-Datei ein und guck, dass auch die korrekt geladen wird.

Gruß und viel Erfolg

0
BwIok 
Fragesteller
 11.09.2021, 13:37
@AldoradoXYZ

also der Code vom index.js ist:
const app = require('express')();

const PORT = 8080;

const { zitat } = require('./zitat.js');

const { name } = require('./name.js');

app.listen(

PORT,

() => console.log("online")

)

app.get('/', (req, res) => {

res.status(200).send({

Zitat: zitat[Math.floor(Math.random() * zitat.length)],

Name: name[Math.floor(Math.random() * name.length)]

})

});
und so wie er ist geht es nicht. Weißt du wie es gehen könnte?

0
MagisterSamael  11.09.2021, 13:47
@AldoradoXYZ

Es ist keine Script-Datei für die Website, sondern eine API, wie der Nutzer bereits in der Frage schrieb.

Diese API möchte er mit Node.js realisieren.

In die Website kann ein Node.js Script freilich nicht eingebunden werden.

0
AldoradoXYZ  11.09.2021, 14:14
@BwIok

Dann musst Du natürlich auch Node.js auf dem Server installieren. Außerdem muss deine JavaScript Datei auf dem Server ausgeführt werden.

https://nodejs.dev/learn

Ich hatte nur JavaScript gesehen und bin direkt mal davon ausgegangen, dass das clientseitig sein soll. In deinem Fall läuft die Node.js Application allerdings serverweitig.

Im Browser rufst Du dann auch die Ressource über 8080 auf.

Gruß

0

Wie wäre es mit einer schreib Berechtigung?

Woher ich das weiß:Studium / Ausbildung – Informatikstudent
AldoradoXYZ  11.09.2021, 13:34

Die Berechtigungen auf dem Host selbst haben im Grunde nicht viel damit zutun.

Erlaubst Du das Schreiben für "alle", dann darf der WebServer zwar theoretisch die Datei verändern, aber externe Aufrufer über WebBrowser können das natürlich nicht nutzen - Weil der WebServer das gar nicht ermöglicht.

Einzig der WebServer muss lesenden Zugriff auf die JavaScript-Datei haben, sonst kann der WebServer die Datei nicht lesen um sie auszuspielen.

Gruß

0