IT Wiki: Häufig verwendete Befehle

Auf dieser Seite finden Sie eine Auflistung häufig verwendeter Befehle. Sie wurde eingerichtet, um sowohl für Sie als auch für uns eine Referenz zu schaffen


Symfony - Grundeinrichtung eines Projekts


# Skeleton app erstellen
composer create-project symfony/skeleton [my-app-name]

# Make command installieren
composer require make

# Twig installieren
composer require twig

# Annotations installieren
composer require doctrine/annotations

# Apache-Pack installieren (damit url rewrite funktioniert)
composer require symfony/apache-pack

# Doctrine installieren
composer require doctrine

# Forms hinzufügen
composer require form

#Security Bundle installieren:
composer require security

Symfony - häufig verwendete Befehle.


# Controller erstellen (Name für den Controller bspw.: IndexController)
# Route ändern nicht vergessen.
php bin/console make:controller

# Alle Routen anzeigen lassen.
php bin/console debug:router

# Entität anlegen oder erweitern.
# Entitäten immer in dieser Form anlegen für ein einheitliches Schema: PropertyName ->
# also Großbuchstaben am Anfang, mehrere Worte in CamelCase.
php bin/console make:entity
php bin/console make:migration
php bin/console doctrine:migrations:migrate

# User-Entity hinzufügen.
php bin/console make:user

# Update der Datenbank-Felder forciert vornehmen (ohne Migration).
php bin/console doctrine:schema:update --force

# Formular anlegen.
php bin/console make:form

# Authentifizierung hinzufügen (Login form authenticator macht das einfacher).
# In CustomAuthenticator die Redirect Route für den Redirect eintragen, der nach dem Login erfolgen soll.
php bin/console make:auth

Twig Doku

https://twig.symfony.com/doc

# Aktuelle Server URL ausgeben (bspw. in einem a href Tag).
{{ app.request.getSchemeAndHttpHost() }}

# URL zu Controller-Action (inkl Parameter slug und JS Filter für JS URLs)
{{ path('blog_show', {slug: 'my-blog-post'})|escape('js') }}

Symfony Controllers


# Erzeuge eine URL ohne Argumente:
$signUpPage = $this->generateUrl('sign_up');

# Erzeuge eine URL mit Argumenten:
$userProfilePage = $this->generateUrl('user_profile', [
	'username' => $user->getUserIdentifier(),
]);

# Erzeuge URL mit absolutem Pfad (dritter Parameter kommt hinzu)
# Nicht vergessen das UrlGeneratorInterface mit einzubinden: use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
$confirmationUrl = $this->generateUrl('registration_confirm', [], UrlGeneratorInterface::ABSOLUTE_URL);

# Get Query String
$request->getQueryString();

# Get Content of Post Query as a string
$requestContents = $request->getContent();

# Get a single get variable
$getvar = $request->query->get('getvar');

# Get a single post variable (im Gegensatz zu POST kein $request->query )
$timestamp = $request->get('timestamp');

# Eintrag aus einem Request Header abfragen (das ist so mega easy, danke Symfony!)
$shopwareShopSignature = $request->headers->get('shopware-shop-signature');

PHP Installation.


sudo apt-get install php8.1 php8.1-cli php8.1-common php8.1-curl php8.1-gd php8.1-intl\
php8.1-mbstring php8.1-mysql php8.1-xml php8.1-zip php8.1-opcache php8.1-readline

# Vorherige PHP Version deaktivieren in Apache.
sudo a2dismod php7.4

# Neue PHP Version aktivieren in Apache.
sudo a2enmod php8.1

# Server neustarten nicht vergessen.
sudo systemctl restart apache2

Letsencrypt für Apache auf einem Ubuntu Server einrichten



sudo apt install certbot python3-certbot-apache

sudo ufw status
sudo ufw allow 'Apache Full'
sudo ufw delete allow 'Apache'

sudo certbot --apache
-> domains auswählen die geschützt werden sollen

# Renewal sicherstellen
# ACHTUNG -> öffnet File in vim! :q
sudo systemctl status certbot.timer

# Testen
sudo certbot renew --dry-run

Arbeiten mit Archiven

# Einfaches Tar Verzeichnis erstellen.
tar -cvf archive.tar <source_file_directory>

# Einfaches Tar Verzeichnis entpacken.
# Entpackt die Dateien im aktuellen Ordner. Wenn das Archiv keinen direkten Unterordner enthält, wird auch keiner erstellt.
tar -xvf <tar_archive>

# Verzeichnis im Format tar.gz erzeugen.
tar -cvzf ants.tar.gz <source_file_directory>

# tar.gz Verzeichnis entpacken.
tar -xvzf <tar_gz_archive>

# tar-Archiv erzeugen und Lesefehler dabei ignorieren (bspw. wegen zwischendurch veränderter oder gelöschter Dateien)
tar --ignore-failed-read archive.tar <source_file_directory>

Linux Befehle

Eine Sammlung von häufig verwendeten Linux Befehlen.

# Gesamtauslastung der Festplatten anzeigen
df -h

# Speicherverbrauch des aktuellen Verzeichnisses
du -sh

htaccess

# Rewrite Engine einschalten
<IfModule mod_rewrite.c>
RewriteEngine On
</IfModule>

# Weiterleiten von www auf nicht www
RewriteCond %{HTTP_HOST} ^www\.domain\.tld$ [NC]
RewriteRule ^(.*)$ http://domain.tld/$1 [L,R=301]

# Weiterleiten von http auf https
RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://%{HTTP_HOST}/$1 [R=301,L]