IIS und Visual Studio

AliManali

cpt sunday flyer
Thread Starter
Mitglied seit
07.03.2012
Beiträge
4.573
Ort
Ostschweiz
Hi

Ich würd gerne ein kleines Web Projekt mit c#, MSSQL und ASP.NET machen. Ich habe bereits Erfahrung mit 2k3 Servern und alten 6.0 und .NET Visual Studios gemacht. Auch mit IIS 6.0 hatte ich schon zu tun, allerdings hatte ich das auf einem Desktop Betriebssystem (Win 7) am laufen.

Nun habe ich in der DMZ zwei Testserver aufgesetzt, um mir das anzuschauen. Einen Server Standard 2008 r2, und einen Server 2016, je in der Trial Version. Diese beiden Maschinen laufen auf meinem ESXi.

Dann habe ich meinen Desktop, in dem virtuell meine Entwicklungsumgebung (VS 2010) am LAN gebridged läuft. Routen tut eine Zywall 110, ich habe den betreffenden Verkehr vom LAN in die DMZ bereits beregelt. Sprich, an der VM im LAN komme ich über den Browser bereits auf die zwei IIS in der DMZ.

Da kommen dann wohl noch weitere Fragen auf Euch zu. Daher ist auch der Threadtitel mal allgemein gehalten. Im Moment habe ich nur eine Frage, und das betrifft das Protokoll für die Veröffentlichung. Bislang (w2k3 und 7) hatte ich immer FTP benutzt. Das war immer super kompliziert gewesen, weil man dazu Windows Nutzer brauchte. Beim einen Server habe ich bereits FTP konfiguriert. Der ftp Dienst wird auf beiden Servern ausgeführt. Da gäbe es wohl auch noch andere (bessere?) Methoden wie WebDAV zum veröffentlichen? Welche Dienste muss ich da genau an der Soft-/bzw. Hardwarefirewall alles haben? Für ASP.NET mit c#, SQL und sowas.

Auf einen DC würde ich gerne verzichten, genauso wie auf Arbeitsgruppen. Möglichst einfach soll es sein.

Und ja, welches Framework sollte ich benutzen? Weil eventuell kommt dann ein 2k8 r2 zum Einsatz.
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Hi

Naja, mir kommt grad auf die Schnelle keine weitere Plattform in den Sinn, mir der ich das machen könnte. Allenfalls netbeans bzw. eclipse mit Apache Tomcat für JSP oder JSF hätte ich noch zur Verfügung, aber über die Hello World Anwendung ist es bislang noch nicht raus gekommen.

Ausserdem hatte ich mein Script schon mal am laufen, eben mit c# und ASP.NET. Leider ist mir die Anwendung aber mal abhanden gekommen Dabei handelt es sich um ein Statistikscript für ein online Game (Warcraft III). Um mich wieder einzuarbeiten, passt das recht gut; das wollte ich schon lange mal wieder machen. Mit JSF würd ich das glaube ich nicht ohne Weiteres so hin kriegen. Mir gefällt beim Visual Studio halt, dass man da eine GUI mit datengebundenen Steuerelementen per RAD zusammenfrickeln kann. Dann ein paar Ereignissroutinen, ein paar Filter und sowas, und die Hütte läuft. Für JSF müsste ich da viel mehr Aufwand treiben, denk ich.
 
Achtung, die folgenden Worte sind von jemandem geschrieben, der von Windows auf öffentlichen Servern (erst Recht so simple Webseiten) genauso wenig hält wie von Tretrollern auf der A4. :fresse:

Ich würd gerne ein kleines Web Projekt mit c#, MSSQL und ASP.NET machen.

Das hört sich irgendwie schon schwer gruselig an. o_O Aber machen wir mal weiter. :d

Einen Server Standard 2008 r2, und einen Server 2016

Meh. :d

Im Moment habe ich nur eine Frage, und das betrifft das Protokoll für die Veröffentlichung.

Git. Git oder ein anderes VCS. Alles Andere wäre fatal. Einfach Dateien rüberkopieren (das müssen wir leider bei uns im Office machen, da ein Kunde auf die legendäre Idee kam sein PHP-Projekt doch in der Azure Cloud unter dem IIS betreiben zu wollen; deployen ist jedes Mal mit 2 Liter Schweiß verbunden) ist sehr fehleranfällig. Entweder muss immer alles hochgeladen werden oder nur das, was sich geändert hat. Ersteres dauert bei einem Projekt mit 20.000 Dateien ewig, bei letzterem ist die Wahrscheinlichkeit groß, dass du was vergisst. Ein VCS bietet dir zudem die Möglichkeit zu einem alten Stand zurückzuspringen, sollte irgendwas auf Prod nicht klappen.

Bislang (w2k3 und 7) hatte ich immer FTP benutzt.

Dann solltest du das besser lassen. ;) Sowohl FTP als auch WebDAV sind für sowas gänzlich ungeeignet. Die Gründe findest du einen Absatz höher. Zudem, und das ist das viel schlimmere Übel, sind diese Protokolle so, wie du sie benennst, unverschlüsselt. Ich geh mal davon aus, dass der FTP-Server nur innerhalb deines LANs zu erreichen ist. In dem Fall ist es noch okay so. Trotzdem nur semigeil.

Möglichst einfach soll es sein.

Einfach ist genau das Gegenteil von dem, was du da vorhast. Weswegen sich mir folgende Frage stellt: Was spricht gegen Debian/Ubuntu, Nginx, PHP/Python, MariaDB und gut is die Sache? Das wäre deutlich einfacher/simpler, schneller, sicherer und stabiler als dein Vorhaben. :d
 
Zuletzt bearbeitet:
Nun gibt es ja offensichtlich Vorkenntnisse in C# oder so, aber meine Güte, für ein kleines Webprojekt zum Spass würde ich einfach PHP nehmen, das schmeisst man einfach irgendwo rauf und ist fertig.

PHP versteht jeder der ne Ahnung vom Programmieren hat und es gibt tolle Frameworks wie Laravel die einem das Leben sehr einfach machen.
 
Trotzdem nur semigeil.

lol. Das Wort kannte ich noch gar nicht. semigeil -> halbgeil?! :) Ich find die ASP Plattform halt echt sexy, btw. ...

Ich glaube, PHP allein reicht nicht aus für das, was ich alles machen will. Ich habe da neben dem WCIII Script dann schon auch noch was Anderes auf dem Schirm. Mit python habe ich gar keine Erfahrung. Ich weiss nicht mal, wo und wie der Code dann ausgeführt würde; vor allem auch den Zusammenhang mit dem Webserver hör ich zum ersten Mal. Das gilt auch für die MariaDB.

Ich glaube, wenn ich auf der Linux Schiene fahre, dann eher mit JSF und Tomcat. Java würd mir da wohl eher liegen. Ausserdem weiss ich dort schon Mal, wie das ausgeführt wird.

Nur, wenn das alles freie Software wär, würd ich halt schon die MS Umgebung vorziehen. Da wüsste ich schon mal, wie ich das im groben umsetzen würde.

Im Moment habe ich Visual Studio 2010 und IIS, eclipse für JSP mit tomcat, sowie netbeans und tomcat für JSF zur Verfügung. Bei den letzteren beiden Varianten könnte ich die Daten, grundlegenden Code sowie die Klassen wohl noch handeln/designen. Nur ist es so, dass ich bei den Microsoft Produkten meist mit der GUI begonnen habe. Da habe ich mit den letzteren beiden Kandidaten halt echt kein Plan, wo ich da anfangen soll. UML Tools hätte ich.
 
Zuletzt bearbeitet:
Was willst du eigentlich machen?

Also nur mal so. Musst du dafür auf irgendwelche MS Bibliotheken zugreifen? Wieso soll man nicht PHP nehmen können?

- PHP (mit einem Framework deiner Wahl, ich mag Laravel sehr)
- Bootstrap

und los.
 
Ich glaube, PHP allein reicht nicht aus für das, was ich alles machen will.

PHP ist so mächtig, dass ich kaum glaube, dass es irgendetwas gibt, was du machen willst und PHP nicht kann. Und wenn doch, dann ist das alles, aber kein "kleines Web Projekt".

Mit python habe ich gar keine Erfahrung. Ich weiss nicht mal, wo und wie der Code dann ausgeführt würde; vor allem auch den Zusammenhang mit dem Webserver hör ich zum ersten Mal.

Python ist auch nur ne Scriptsprache, die genauso für die Applikationsschicht benutzt werden kann wie PHP auch. Stichwort Django Framework.

Das gilt auch für die MariaDB.

MariaDB ist einfach ein Fork von MySQL, nachdem Letzteres von Oracle übernommen wurde. Ist ein Drop-In Replacement. MySQL (5.5 und 5.6, das klappt bei 5.7 nicht immer) deinstallieren, MariaDB installieren, alles läuft wie vorher.

Ich glaube, wenn ich auf der Linux Schiene fahre, dann eher mit JSF und Tomcat.

Ich hab irgendwie das Gefühl du bist aus technologischer Sicht nicht ganz auf dem aktuellen Stand. :/

Nur, wenn das alles freie Software wär, würd ich halt schon die MS Umgebung vorziehen.

Allein die Tatsache, dass Microsoft die Privileges Escalation-Lücke, die Google vor ein paar Tagen veröffentlicht hat, erst mit dem nächsten Patchday schließen will und Anwender bis daher einfach nur beten können ist für mich und viele viele Andere einer von vielen Gründen wieso dieses OS auf öffentlichen Servern absolut gar nichts verloren hat. Wenn ich dir mal Ausschnitt meiner SSH-Logs schicken würde, dann würdest du sehen, dass trotz non-Standard-Port (über 30.000) trotzdem nahezu sekündlich oder gar öfter ein Anmeldeversuch/Angriff erfolgt, und das trotz maximal 2 Anmeldeversuchen und daraufhin folgenden 2 Stunden Sperre. Ich könnte meinen Arsch drauf verwetten, unter Windows wäre schon längst irgendwas passiert. Dafür gibt es einfach zu viele Schreckensmeldungen. Kann sein, dass das in der Server-Version anders ist, mit der kenne ich mich 0 aus. Aber ein unwohles Gefühl hätte ich trotzdem.

Im Moment habe ich Visual Studio 2010 und IIS, eclipse für JSP mit tomcat, sowie netbeans und tomcat für JSF zur Verfügung.

Ein deutlich moderneres Setup besteht wohl eher aus Docker-Containern, jeweils mit nginx, PHP-FPM und MariaDB, die untereinander kommunizieren und das System nicht zerlegen können, PHPStorm oder Atom, je nach Präferenz, und Git als Versionskontrollsystem. Wenn dein Vorhaben wirklich so klein ist wie du es im Einstiegspost erwähnt hast, dann lass Docker weg, installier dir PHP und MariaDB auf der Kiste und nutz den PHP-eigenen Webserver dann als nginx-Ersatz. All diese Software läuft auch unter Windows problemlos, lediglich der nginx unterstützt nur einen Thread. Da müsste man dann eventuell doch einen IIS oder Apache nehmen. Ohne dir jetzt ausführlich alle möglichen Gründe nennen zu wollen, aber dir von dir genutzte Software ist für moderne Webentwicklung einfach nicht mehr geeignet, weil gnadenlos zurückgeblieben und nicht mehr auf dem Stand der Zeit. Einzig der IIS ist eigentlich noch ein recht solider Webserver, aber auch der ist im Vergleich zu einem nginx einfach abartig langsam.

Vielleicht solltest du uns mal wirklich erklären was genau du eigentlich vorhast. Ich verspreche dir, dass, egal was du tun willst, ich dir eine PHP-Klasse dafür hinschmeißen kann.
 
Zuletzt bearbeitet:
Vielleicht solltest du uns mal wirklich erklären was genau du eigentlich vorhast. Ich verspreche dir, dass, egal was du tun willst, ich dir eine PHP-Klasse dafür hinschmeißen kann.
Simplen Chat, ohne schäbige Hacks wie PHP in Endlosschleife laufen lassen und/oder Polling. Kurzum: alles was (echte!) Echtzeit ist geht mit PHP schlicht und einfach nicht, weil die Funktionsweise von PHP es nunmal nicht zulässt.

Zum Thema:
Ich bin niemand aus der ASP.net Welt, aber https://msdn.microsoft.com/en-us/library/dd394698(VS.100).aspx dürfte schonmal ein paar Informationen geben.

Btw. gibt es auch eine sichere Variante von FTP namens SFTP. In Verbindung mit einem Build Tool das (S)FTP syncen kann, kann man auch so halbwegs vernünftigt Dateien von A nach B spielen. Wenn mans richtig schön will hängt man ein CI dazwischen dass nur bei erfolgreichen Tests sich ums deployen kümmert.
 
Na bei Sockets würde ich auch Node nehmen, ist aber doch schon ein ziemlicher Extremfall, das normale Web ist ja doch eher noch auf Request-Basis.
 
Hi

Danke für Eure Einschätzung! Ihr habt mich überzeugt: ich werde mir das Ganze mal ansehen.

Wie gesagt, vorläufig geht es nur mal um das WCIII Script. Das war sehr einfach gestrickt, eine Seite mit ein paar Tabellen, die über Filter Daten vom Game (Ausrüstung) ausgeben. Das wär mal die Alpha. Als Beta käme dann die Version, wo man das Ganze noch auf verschiedene Versionen der Map anwenden kann.

Aber als Langzeitprojekt möchte ich mich dann mal an eine e-commerce Anwendung machen. Ich kenne mich mit osCommerce 2.2 recht gut aus. Auch an CMS, Foren, IRC und sowas habe ich schon einiges rumgebastelt. Bei php habe ich halt alles im Code gemacht. Und das war dann meist auch mehr frickeln als programmieren.

Genau genommen geht es da dann um eine Food-Kurier Software. Pizza Lieferdienst, und sowas. Gerne nehme ich dafür eine passende existierende Lösung. Nur sollte die Software halt nichts kosten. Ich habe schon einige Lösungen gesehen, nur zahle ich da die Software Lizenz immer pro Kunde, und das ist mir zu teuer. Also soll es was „Eigenes“ sein.


- PHP (mit einem Framework deiner Wahl, ich mag Laravel sehr)
- Bootstrap

und los.

Ein deutlich moderneres Setup besteht wohl eher aus Docker-Containern, jeweils mit nginx, PHP-FPM und MariaDB, die untereinander kommunizieren und das System nicht zerlegen können, PHPStorm oder Atom, je nach Präferenz, und Git als Versionskontrollsystem. Wenn dein Vorhaben wirklich so klein ist wie du es im Einstiegspost erwähnt hast, dann lass Docker weg, installier dir PHP und MariaDB auf der Kiste und nutz den PHP-eigenen Webserver dann als nginx-Ersatz.

...

Vielleicht solltest du uns mal wirklich erklären was genau du eigentlich vorhast. Ich verspreche dir, dass, egal was du tun willst, ich dir eine PHP-Klasse dafür hinschmeißen kann.

Bootstrap tönt schon mal gut. Das System mit den Docker Containern werde ich machen, allerdings wohl mit meinem ESXi (Server und Git) und vmware WS (Entwicklungsumgebung). Falls ich das richtig verstanden habe… Jedoch habe ich im Moment nicht viel Platz auf den SSD’s zur Verfügung. Da muss ich dann wohl ausmisten, erst.
 
Versusche dich halt nicht in Meta Aufgaben zu verlieren. Docker alleine ist ein derart widerspenstiges Biest, wenn du erstmal was sehen willst würde ich die Finger davon lassen.

Nimm dir ein git Repo, bei Bitbucket gibt es das auch nicht öffentlich für lau.
Installiere deine PHP Umgebung und pushe das.

Lass deine lokalen Server drauf zeigen und du bist fertig. Laravel bringt sogar noch ein fertiges Build Tool fürs Frontend mit, bei anderen Frameworks ist das ähnlich.

Viel Spaß !
 
Hi

Danke!

Ich habe jetzt etwas Platz auf dem ESXi dafür frei gemacht. Ich stelle mir da 3 VM's vor:

  • Entwicklungsumgebung (LAN)
  • git (DMZ)
  • Webserver (DMZ)


Ich dachte mir, ich fange mit git an. So wie ich es bei Bitbucket verstanden habe, liegen die Files dann aber in der Cloud, bzw. bei denen? Ich hätte gerne einen eigenen git. Mit Linux kenne ich mich nicht so gut aus. Als Host würde ich mir ein ubuntu oder opensuse mit KDE vorstellen. Allenfalls ein recht frisches Debian hätte ich grad noch zur Verfügung. Spricht da was dagegen?

Was ich auch noch nicht weiss, welchen Editor ich dazu dann nutze, um die Sachen wie bootstrap oder Laravel zu bearbeiten. Muss ich mir lavalevel wie z.B. ein Wordpress vorstellen, und das editieren des Fronend erfolgt im Browser? Ich kann mir da noch nicht allzuviel drunter vorstellen...
 
Zuletzt bearbeitet:
Hi,
bei einem GIT-Service landet natürlich alles dort in der Cloud. Wenn du das nicht magst musst du selber hosten. Die meisten Firmen die das machen die ich so kenne nutzen https://gitlab.com, das ist dann ein wenig wie ein privates Github.

Laravel ist ein Framework, kein CMS/Blog. Es ist am ehesten mit sowas wie Rails zu vergleichen, es nimmt einem die ganze nervige Arbeit beim Routing/Views/Models etc ab.
Die Dokumentation ist echt gut https://laravel.com/docs/5.3 und es gibt auch noch die Laracasts, https://laracasts.com/series, wo vor allem die Basis-Tutorials alle frei sind.



Von Linux und Co hab ich keine Ahnung, ich bin Entwickler kein Sysadmin :fresse:
 
Allein die Tatsache, dass Microsoft die Privileges Escalation-Lücke, die Google vor ein paar Tagen veröffentlicht hat, erst mit dem nächsten Patchday schließen will und Anwender bis daher einfach nur beten können ist für mich und viele viele Andere einer von vielen Gründen wieso dieses OS auf öffentlichen Servern absolut gar nichts verloren hat.

"Dirty Cow"... *hust*

Allerdings erschließt sich mir nicht ganz, wie du diese "Lücke" von vor ein paar Tagen mit einem Webserverhosting unter einen Hut bringst. Die MS Problematik, die du ansprichst, ist doch Clientstuff, nicht Server... Surfe ich mit MS nicht, gibts auch nix zum ausnutzen. Stell ich aber nen Server public, versucht sich da ggf. JEDER dran, der dran Spaß hat.
Kurzum, egal welches System du public stellst, Lücken gibts IMMER und auch welche, die ewig und drei Tage existent sind wie auch welche die lange schon vor dem veröffentlichen ausgenutzt werden.

Hi,
bei einem GIT-Service landet natürlich alles dort in der Cloud. Wenn du das nicht magst musst du selber hosten. Die meisten Firmen die das machen die ich so kenne nutzen https://gitlab.com, das ist dann ein wenig wie ein privates Github.

Wie wäre es mit SVN als Alternative??
Git ist ja gerade eher Cloud based... Das ganze selbst zu Hosten geht natürlich irgendwie, Sinnvoll? Weis ich nicht...
Wir nutzen bei uns auf der Arbeit SVN und das tut.


Ansonsten, irgendwie finde ich das hier etwas "komisch", wie das hier läuft. Wieso wird ihm hier versucht PHP ans Bein zu binden?
Ich glaube/behaupte, wenn er davon keinen Plan hat, dann wird er damit auch nicht glücklich... Ich mein, das kann auch schief gehen, weil die Möhre dann Fehleranfällig, Securitytechnisch offen wie ein Scheunentor usw. ist. Da nutzt dann auch der Linux Server mit Apache oder Nginx und MySQL/MarinaDB nix mehr.
Ich hab aber NULL Plan, was die WC3 Daten angeht, sprich wie "brisant" das ganze überhaupt ist und was das im Endeffekt bedeutet.
Linux als OS schützt auch keinesfalls allein durch den Namen vor Angreifern...
 
Naja, es wär halt nett, wenn ich eine Entwicklungsumgebung mit RAD und sowas zur Verfügung hätte, wie ich es von Visual Studio her kenne. Möglichst auch mit einer deutschen Community. Wenn das auf Linux/PHP auch geht, dann um so besser.

PHP bin ich also durchaus nicht abgeneigt. Aber ich habe da halt echt gedacht, dass damit nur so altmodische Sachen möglich sind... Ich hätte auch noch ein Linux Confixx Hosting zur Verfügung, was den Server angeht. Aber vorerst soll das bei mir laufen.

Weil mit MS arbeite ich entweder mit grottenalter Software, oder ich müsste da mehr ausgeben für, als ich kann. Die beinen MS Server fallen eh schon mal flach, da ich sie gelöscht habe :)
 
Zuletzt bearbeitet:
ich fange mit git an. So wie ich es bei Bitbucket verstanden habe, liegen die Files dann aber in der Cloud, bzw. bei denen? Ich hätte gerne einen eigenen git. Mit Linux kenne ich mich nicht so gut aus. Als Host würde ich mir ein ubuntu oder opensuse mit KDE vorstellen. Allenfalls ein recht frisches Debian hätte ich grad noch zur Verfügung. Spricht da was dagegen?

Mit "eigenen git" meinst du vermutlich eigenen Git-Hosting Service, eben wie BitBucket, GitHub oder ähnlichem. Wie schon gesagt wurde, tuts GitLab da ganz gut; wahlweise kannst du einen OneClick-Installer bei https://bitnami.com/ runterladen. Damit entsteht kaum ein Aufwand und trotzdem liegt alles bei dir.

Wie wäre es mit SVN als Alternative??
Git ist ja gerade eher Cloud based... Das ganze selbst zu Hosten geht natürlich irgendwie, Sinnvoll? Weis ich nicht...
Wir nutzen bei uns auf der Arbeit SVN und das tut.

Huh? Faktisch gesehen ist SVN ein zentrales Versionierungssystem wohingegen Git ein dezentrales System ist. Folglich ist es genau andersrum. Das heißt im Klartext: Git Repos liegen (meistens) zwar auf einem entfernten Rechner, aber man klont sich das gesamte Repo auf den eigenen Rechner, kann nach belieben committen (auch offline) und wenn man meint dass es Zeit ist kann man alle Commits zur Quelle pushen. Das geht bei SVN nicht; bei SVN ist ein Commit direkt ein Push.
Man kann aber SVN wie auch Git ohne Hosting Service und damit nur lokal nutzen.

Was ich auch noch nicht weiss, welchen Editor ich dazu dann nutze, um die Sachen wie bootstrap oder Laravel zu bearbeiten. Muss ich mir lavalevel wie z.B. ein Wordpress vorstellen, und das editieren des Fronend erfolgt im Browser? Ich kann mir da noch nicht allzuviel drunter vorstellen...
Manche bevorzugen ganze IDEs wie PHPStorm, andere nehmen nur Editoren wie Sublime oder Atom. Sieh dir an was es gibt, entscheide was dir mehr gefällt - ein "nimm das, weil das ist Richtig" gibt es hier nicht.

Und Laravel (nicht Laralevel :p ) - oder auch jedes andere Framework - ist eine reine Programmierbibliothek die alltägliche Dinge wie z.B. Routing (URLs wie z.B. /community/forum/), MVC-Implementierung, Validierung von Formularen, usw. von sich aus mitbringt und man sich nicht selbst drum kümmern muss.
 
Hi

Ich habe jetzt eine ubuntu vm mit gitlab auf dem ESXi. :)

Bislang habe ich meine HTML/PHP Projekte immer per ftp mit clonezilla auf meinen Desktop gesichert. Naja, ich gebs jetzt zu, ich habe bislang meist live auf dem Server gearbeitet. Ich hätte da also noch x GB an Scripts, DB's und Daten von etwa 10 Domains. Nun liegt es nahe, die Daten in die neue git vm zu importieren. Ich stell mir das so vor, dass ich die Daten dann dort sichere.

Kann ich da auch noch andere Sachen wie Code im git Server ablegen? Kann/soll man gitlab auch für die "normale" Datensicherung, z.B von Office Dokumenten nutzen? Storage à la NAS habe ich bislang nicht. Und arbeiten tu ich in vm's, was das Ganze auch nicht einfacher macht.

Was mir allerdings noch nicht klar ist, dass wenn ich nun eine weitere vm mit einem Webserver habe, wo dann der Webspace, bzw. die auszuführenden Scripts und Content liegen. Liegen die bei der git vm, oder werden die Files dann noch zum Webserver synchronisiert, und werden dort gehostet?

Was hält Ihr von Dreamweaver als Webeditor? Eclipse und Netbeans hätte ich auch noch. Gerade auch für die genannten Frameworks, bei welchen ich noch keine Ahnung habe, wo die dann ausgeführt, bzw. eingebunden werden! OO ist nicht gerade meine Stärke, das kommt noch hinzu. Ich habe mehr prozedural programmiert, bislang. Mit OO habe ich eigentlich nur im Zusammmenhang mit einem Compiler gearbeitet. Wie ich aber die Klassen von bootsrap oder Laravel dann auf den Server linke, bzw. in was für einer Form der Code und die Klassen vorhanden sind, da habe ich noch keinen Plan von.
 
Zuletzt bearbeitet:
Du kommst mir etwas orientierungslos vor :hmm:

1. Auf Bitbucket hättest du mit einem kostenlosen Account so viele private (=nicht öffentliche) Repositories erstellen können wie du willst. Du brauchst also keinen eigenen Server dafür.
2. Benutzt man Git als Versions-Kontroll-System, um mit anderen Personen leichter an einem Projekt arbeiten zu können. Es ist kein Webspace!!!
3. Wegen 2. brauchst du wohl nicht zwingend git. Konzentrier dich lieber auf die Kernpunkte. Git kannst du später noch lernen.

Entwickel doch einfach auf deinem Rechner oder in einer VM (vielleicht mit Xubuntu), wenn dir das lieber ist.
Unter Windows würde ich der Einfachheit wegen Xampp verwenden (da sind apache, php, mysql/mariadb, usw. schon erhalten) oder die Dienste fix in einer Linux-VM installieren (LAMP-Server - bietet sich eh an, weil der Webserver auch unter Linux laufen sollte).

Das Projekt würde ich im www-Ordner anlegen und auch darin entwickeln.

Was den Webserver angeht:
LinuxApacheMariadbPHP Server einrichten
Server absichern (Ports ändern, Firewall einrichten, usw..)
Fertiges Projekt über SCP auf den Server kopieren (für Windows gibt es dafür WinSCP).

Als IDE nehm ich nur noch Software von jetbrains: für WebProjekte WebStorm, das kostet aber Geld, wenn man nicht gerade Student ist :bigok:
Ansonsten finde ich noch Brackets für Webprogrammierung sehr einfach, aber auch mächtig.

Von Laravel hab keine Ahnung, aber PHP-Code muss man normalerweise nicht kompilieren oder linken, weil er auf dem Server beim Aufruf der Seite interpretiert wird.

Im Moment hänge ich selber an einem Webprojekt und will da ganz "hipp" sein xD
Für das Frontend verwende ich Angular2 und für das Backend Flask(python) als Rest-Service/Schnittstelle zum mysql-Server.

Angular2 ist noch sehr neu und man sollte bei den Tutorials darauf achten, dass die nicht älter, als 2-3 Monate sind, da in der Entwicklungsphase noch viel verändert worden ist.
Der Code besteht aus HTML und Javascript/Typescript und wird im Browser ausgeführt (nicht falsch verstehen, man braucht dafür schon einen Webserver xD). Deswegen braucht man im Backend einen Rest-Service, wenn man eine Datenbank verwenden möchte. Den kann man in so gut wie jeder Programmiersprache umsetzen (auch mit Laravel in PHP :d ).
Damit schießt du aber vermutlich mit Kanonen auf Spatzen, für unser Projekt ist es aber genau das richtige^^
 
Zuletzt bearbeitet:
Hi

Ja, wie gesagt, live entwickeln und php sind mir nicht ganz fremd. Wir haben seit Jahren ein Reseller Hosting (confixx), davor nen eigenen Windows 2k3 Server mit Plesk. Auch mit XAMPP und sowas hatte ich rumgebastelt. Sowie mit ASP...

WinSCP brauch ich bislang eher im Bezug auf vSphere. Für Web Projekte nahm ich bislang ne IDE, um einzelne Seiten zu pushen, bzw. filezilla, um irgendwelche Applikationen oder andere Dateien hoch zu laden. Mit Visual Studio hab ich aus der IDE mit ftp gepusht. Der Verkehr war bislang immer unverschlüsselt.

Nur habe ich jetzt halt ein eigens git. Ich weiss noch nicht, was das alles kann, aber das möchte ich jetzt benutzen. Sprich ich habe ein paar Domains auf dem externen Hosting. Den Webspace hatte ich jeweils dann gesichert, wenn ich daran gearbeitet habe. Files per ftp, und DB's. Die Anderen meinten nun, ich brauch das Versionierungssystem (was mir einleuchtet); das habe ich jetzt aufgesetzt, und darauf möchte ich erst mal den Fokus setzen. Die Firewall ist auch schon konfiguriert: git läuft vorerst nur im LAN.

Den Editor, den Du verlinkt hast, scheint auch für den Browser zu sein. Ich habe noch nie einen Browser Editor genutzt, der über HTML, bzw. Forencode, oder sowas raus gegangen ist. Ich würd da schon gerne einen klassischen Editor, bzw. eine IDE für Windows bevorzugen. Wobei ich mich bei gitlab noch frage, obs da auch Editoren im Browser gibt.

Wie gehe ich da jetzt vor? Wie kriege ich die Domains vom Backup auf den git, und von da aus auf den Webspace, bzw. umgekehrt? Die Enwicklungsumgebung ist jetzt mal zweitrangig...

Brauch ich für die URI von git nen Nameserver, oder geht das auch per IP? Wie funktionert das über SSH? Muss ich da für die Konfiguration putty nehmen? Im Moment steht da der Hostname in der URI... Wenn ich auf eine Shell verzichten kann, um so besser.

Ausserdem habe ich bei der Installation von git die e-mail Konfiguration abgebrochen. Brauch ich die? Und wenn ja, kann ich das nachträglich noch nachholen?

uri.PNG
 
Zuletzt bearbeitet:
Guck dir mal das Tutorial an: git - the simple guide - no deep shit!
Find ich recht einfach und es erklärt dir die wesentlichsten Kommandos kurz und knapp.

Wenn du dir das dann durchgelesen hast,
erstellt du für jedes Backup in jeweils einem eigenen Ordner ein neues Repository git init (oder über gitlab, dann musst du es danach noch auf den Rechner clonen),
fügst dem repo über git add -all alle Dateien hinzu,
commitest deine Änderungen mit git commit -m "Message xyz"
und lädst die dann über git push origin master auf den gitlab Server hoch.

Auf dem Server kannst du das Repositorie theoretisch in den www-Ordner klonen und über Pull-Aktualisieren.

Das sind wirklich nur die Basics der Basics, für mehr solltest du dir noch Tutorials dazu angucken und dich auch mal auf der Seite von GitLab umsehen (-> https://docs.gitlab.com/ce/gitlab-basics/README.html).

Tipp: Lern direkt mit git in der Kommandozeile umgehen zu können. Meine Erfahrungen mit GUIs und den Plugins für die IDE ist ziemlich schlecht und wenn man was fixen muss, dann muss man die sowieso aufrufen. GitLab ist eigentlich nur ein Aufbau für git, auf dem jeder den Code einsehen kann, ohne ihn vorher herunterladen zu müssen. Dazu wird dann für jedes Repository ein Wiki und ein IssueTracker erstellt, schöne bunte Graphen sowie Statistiken angezeigt und so Zeug. Es ist nicht schlecht sowas zu haben, wenn man weiß wofür man es braucht und es auch einsetzen kann, aber für persönliche 1-2 Mann-Projekte ist das eher überflüssig.

Was deine Fragen explizit zu GitLab angeht, weiß ich keine Antwort.
Ich hätte mir für git das leichtere Gogs aufgesetzt, das ich schon aus der Uni kenne oder GitHub verwendet.
 
Zuletzt bearbeitet:
Eigentlich müsste ich ja dringend für ne Klausur lernen, aber ich nehme mir jetzt mal die Zeit.

Ich habe jetzt eine ubuntu vm mit gitlab auf dem ESXi.

Warum kein BitBucket?

Kann ich da auch noch andere Sachen wie Code im git Server ablegen?

Du legst nicht AUCH Code im Git hab, sondern du legst NUR Code im Git ab! Git ist ein Versionskontrollsystem FÜR Code. Damit du zu alten Ständen wieder zurückspringen kannst, dir ansehen kannst was du gemacht hast etc.

Kann/soll man gitlab auch für die "normale" Datensicherung, z.B von Office Dokumenten nutzen?

Kann man, ja. Aber prinzipiell ist Git für Code gedacht, und zwar auch nur geschriebenen Code. Irgendwelche durch Paketmanager installierten Abhändigkeiten landen da NICHT drin, genauso wenig wie kompilierte Versionen deiner C++ Programme. Code und NUR Code.

Was mir allerdings noch nicht klar ist, dass wenn ich nun eine weitere vm mit einem Webserver habe, wo dann der Webspace, bzw. die auszuführenden Scripts und Content liegen.

Lass das mit der VM sein. Installier dir einfach XAMPP auf deiner Kiste und arbeite damit. Das ist deutlich einfacher und problemloser.

Liegen die bei der git vm, oder werden die Files dann noch zum Webserver synchronisiert, und werden dort gehostet?

Dein Git-"Server", den du dann beispielsweise hoffentlich später bei BitBucket hast, dient als zentrale Stelle zum Ablegen deines Codes. Code, den du lokal geschieben hast, pusht du in dein Git-Repo auf BitBucket. Auf deinem Produktionsserver klonst du eben dieses Projekt dann wieder und lässt es da laufen. Wenn du dann eine neue Version livestellen willst, führst du nach dem Committen lokal bei dir "git push" aus (Code landet auf BitBucket) und auf dem Server "git pull" (Code wird von BitBucket geholt). Sollte irgendwas dann kaputt sein kannst du einfach zu einem vorherigen Commit zurückspringen.

Was hält Ihr von Dreamweaver als Webeditor?

Absolut gar nichts, aber wirklich NICHTS. :d Das ist genau einer dieser zurückgeblieben Technologien von denen wir dich die ganze Zeit versuchen abzuhalten. :d

Eclipse und Netbeans hätte ich auch noch.

Auch wenn NetBeans deutlich moderner ist, es gibt Besseres.

Gerade auch für die genannten Frameworks, bei welchen ich noch keine Ahnung habe, wo die dann ausgeführt, bzw. eingebunden werden! OO ist nicht gerade meine Stärke, das kommt noch hinzu. Ich habe mehr prozedural programmiert, bislang. Mit OO habe ich eigentlich nur im Zusammmenhang mit einem Compiler gearbeitet. Wie ich aber die Klassen von bootsrap oder Laravel dann auf den Server linke, bzw. in was für einer Form der Code und die Klassen vorhanden sind, da habe ich noch keinen Plan von.

PHP ist eine Scriptsprache. Da wird NICHTS kompiliert und NICHTS gelinkt, sondern NUR ausgeführt. Du kannst einfach eine Datei erstellen, da "<?php echo 'Hallo Welt';" reintippen und dann mit "php <Dateiname>" ausführen und das rennt dann. Mehr nicht. Bei PHP wird nicht gelinkt, sondern required. PHP bietet die beiden Befehle "require" und "include" (Ersteres wirft ne Exception, wenn die Datei nicht da ist, letzteres nur ne Warning. Man benutzt eigentlich meistens "require"). Damit lassen sich weitere PHP-Dateien an exakt der Stelle, an der der Befehl steht, einbinden. Sieht dann bspw. so aus:

Code:
# Datei1.php
<?php
require 'Datei2.php';

Code:
# Datei2.php
<?php
echo rand(1, 5);

Das gibt dann bspw. "4" aus. Nun gibt es unter PHP den einzig waren Paketmanager, der auf den Namen "Composer" hört. Der Composer ist ein CLI-Script, welches die Abhängigkeiten eines Projektes auf einer Datei namens "composer.json" liest und diese herunterlädt und in ein Verzeichnis "./vendor" runterlädt. Zudem erstellt er eine Datei "./vendor/autoload.php". Und diese Autoload-Datei requirest du bzw das Framework einfach in der index.php. Damit werden alle Klassen, die das Framework hat, geladen. Der Webserver wiederrum wird so eingestellt, dass erst geprüft wird, ob eine Datei existiert, die den Namen der angefragten Resource besitzt, und sollte dem nicht so sein werden ALLE Anfragen auf die index.php umgeleitet. Der Laravel-Router prüft dann die eingegebene Route und lädt den entsprechenden Controller/die Klasse. Kein Kompilieren und kein Linken. Nur Scripting.




Von sowas wenn möglich die Finger lassen. Es ist nicht nötig ne weitere Angriffsfläche zu bieten, nur weil man zu faul ist selber etwas zu konfigurieren.

Nur habe ich jetzt halt ein eigens git. Ich weiss noch nicht, was das alles kann, aber das möchte ich jetzt benutzen.

Wenn du noch kein Plan von Git hast, dann lass es erstmal weg. Zu viel ist auch nicht gut beim Lernen.

Den Editor, den Du verlinkt hast, scheint auch für den Browser zu sein. Ich habe noch nie einen Browser Editor genutzt, der über HTML, bzw. Forencode, oder sowas raus gegangen ist. Ich würd da schon gerne einen klassischen Editor, bzw. eine IDE für Windows bevorzugen. Wobei ich mich bei gitlab noch frage, obs da auch Editoren im Browser gibt.

WebStorm/PhpStorm sind genauso native Anwendungen wie jede andere IDE auch. Die einzige Ausnahme bietet hier Atom, welches ein Editor ist, der mit Hilfe des Electron Frameworks auf Webtechnologien basiert. Aber den benutzt du deshalb noch lange nicht im Browser. Der wird genauso installiert wie die anderen Kollegen auch.

Wie gehe ich da jetzt vor? Wie kriege ich die Domains vom Backup auf den git, und von da aus auf den Webspace, bzw. umgekehrt? Die Enwicklungsumgebung ist jetzt mal zweitrangig...

Ich glaube für den Anfang ist es besser, wenn du das überspringst.

Brauch ich für die URI von git nen Nameserver, oder geht das auch per IP?

Ein Git-Repo ist nur ein Ordner mit Objekten. Prinzipiell kannst du alles nutzen, auch Windows-Netzwerknamen. Hauptsache der Ordner wird gefunden. Ein Client wie GitLab ist nicht nötig. Einfach Git auf deiner Kiste installieren und in einem beliebigen Ordner auf der Platte "git init" ausführen: Tada, Git-Repo erstellt. Aber wie gesagt, lass das erstmal weg.

Wie funktionert das über SSH?

Genauso wie du es auch lokal auf der Konsole machst. ;)

Muss ich da für die Konfiguration putty nehmen?

Da PuTTY der einzige brauchbare SSH-Client für Windows ist wahrscheinlich ja. Aber du kannst auch einfach das Fenster deiner VM nutzen.

Wenn ich auf eine Shell verzichten kann, um so besser.

NEIN! Definitiv ganz falsche Einstellung! Auch wenn Microsoft es dir anders eintrichtert, die Shell ist einer der besten Dinge, die dir passieren kann, auch unter Windows (solange man die PowerShell nutzt). Lagere deine Arbeit nicht auf irgendwelche GUI-Programme aus, sondern mache es auf der Konsole. Vor der Konsole braucht man keine Angst haben. Das ist einer der simpelsten Dinge an deinem PC. Nutz am Besten so lange es geht für alles die Shell. Denn für Git wirst du ne Shell brauchen, für den Composer brauchst du eine, für's Deployment brauchst du eine (installier bloß keine GUI auf dem Prod-Server) und für vieles Weitere auch.

Brauch ich für die URI von git nen Nameserver, oder geht das auch per IP? Wie funktionert das über SSH? Muss ich da für die Konfiguration putty nehmen? Im Moment steht da der Hostname in der URI... Wenn ich auf eine Shell verzichten kann, um so besser.

Ausserdem habe ich bei der Installation von git die e-mail Konfiguration abgebrochen. Brauch ich die? Und wenn ja, kann ich das nachträglich noch nachholen?

git config --global user.email "mail@example.com"

Beim Committen speichert Git den Namen und die Mail desjenigen, der committet hat, damit man nachvollziehen kann wer eine Änderung gemacht hat. Wenn du keine Mail angibst, wird standardmaßig "DEIN_USERNAME@DEIN_RECHNERNAME" benutzt. Und das willst du wahrscheinlich nicht.


"git add *" wird höchstwahrscheinlich nicht das tun, was du willst. Was du willst ist "git add --all". Das Sternchen bezieht nämlich auch Dateien mit ein, die in der .gitignore stehen.
 
Zuletzt bearbeitet:
Basteln sie noch oder programmieren sie schon :fresse:

Bei konkreten Fragen zur Umsetzung des eigentlichen Projekt helfe ich gerne weiter, aber das hier ist mir viel zu viel Meta ;)
 
Immer diese Konsolen Fanboys... Als Anfänger oder normaler Anwender sollten GUIs ausreichen, um mit einem VCS umgehen zu können. Falls dies nicht möglich ist, ist es das falsche System! Man soll Dinge einfach verwenden können und sich nicht erst in alle Befehle einlesen müssen. Als Admin von einem firmeninternen VCS sollte man damit umgehen können, aber als Anwender hat man genug andere Sorgen.
 
Immer diese Konsolen Fanboys... Als Anfänger oder normaler Anwender sollten GUIs ausreichen, um mit einem VCS umgehen zu können. Falls dies nicht möglich ist, ist es das falsche System! Man soll Dinge einfach verwenden können und sich nicht erst in alle Befehle einlesen müssen. Als Admin von einem firmeninternen VCS sollte man damit umgehen können, aber als Anwender hat man genug andere Sorgen.

1000 Gummipunkte für den Ersten, der mir ein GUI für den Composer, NPM oder Gulp zeigen kann. 500 Bonuspunkte für den, der Git vollständig verstanden hat, nur weil er ein GUI benutzt hat. :fresse:
 
Ich benutze Tower für den Mac. Das finde ich einfach vieeeeel komfortabler.

Es gibt natürlich nicht für alles eine GUI, für gulp und co braucht man auch keine. Und das ist auch der Grund warum ich einen Mac nutze.
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh