Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:archlinux_-_repository_spiegeln

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
tachtler:archlinux_-_repository_spiegeln [2022/12/23 10:50] klaustachtler:archlinux_-_repository_spiegeln [2023/01/03 16:03] (aktuell) – [/etc/httpd/conf/vhosts/repository.conf] klaus
Zeile 832: Zeile 832:
 ===== Apache Webserver ===== ===== Apache Webserver =====
  
-Nachfolgend soll zur Auslieferung ein [[https://httpd.apache.org/|Apache HTTPD Webserver]] zur Auslieferung des synchroniseirten Repositorys verwendet werden.+Nachfolgend soll ein [[https://httpd.apache.org/|Apache HTTPD Webserver]] zur Auslieferung des synchronisierten Repositorys verwendet werden.
  
 Dazu ist es erforderlich einen [[https://httpd.apache.org/|Apache HTTPD Webserver]], wie unter nachfolgendem internen Link zu installieren: Dazu ist es erforderlich einen [[https://httpd.apache.org/|Apache HTTPD Webserver]], wie unter nachfolgendem internen Link zu installieren:
   * [[tachtler:apache_http_server_archlinux|Apache HTTP Server ArchLinux]]   * [[tachtler:apache_http_server_archlinux|Apache HTTP Server ArchLinux]]
 +  * [[tachtler:apache_http_server_archlinux_-_mod_ssl_-_verschluesselung_https|Apache HTTP Server ArchLinux - mod_ssl - Verschlüsselung (https)]]
  
 +==== /etc/httpd/conf/vhosts/repository.conf ====
 +
 +Zusätzlich ist die Einrichtung eines virtuellen Host mit nachfolgender Konfiguration erforderlich. Die Konfigurationsdatei sollte unter nachfolgendem Verzeichnis mit nachfolgendem Namen neu erstellt werden:
 +<code>
 +# mkdir /etc/httpd/conf/vhosts
 +</code>
 +<code>
 +# vim /etc/httpd/conf/vhosts/repository.conf
 +</code>
 +
 +Der Inhalt der so neu erstellten Konfigurationsdatei für den virtuellen Host des [[https://httpd.apache.org/|Apache HTTPD Webserver]] könnt in etwa wie folgt aussehen:
 +<code apache>
 +<VirtualHost *:80>
 +    ServerAdmin webmaster@tachtler.net
 +    ServerName repository.tachtler.net
 +    ServerPath /
 +
 +    # ----------------------------------------------------------
 +    # Rewrite settings
 +    # Rewrite the requestet URI - PERMANENT - to HTTPS and leave
 +    # this virtual Host to the HTTPS variant of it.
 +    # ----------------------------------------------------------
 +    <IfModule rewrite_module>
 +        RewriteEngine On
 +        RewriteCond "%{HTTPS}" "!=on"
 +        RewriteRule "^(.*)$" "https://%{HTTP_HOST}%{REQUEST_URI}" [R=301,L]
 +    </IfModule>
 +    
 +    # ----------------------------------------------------------
 +    # Logging settings
 +    # ----------------------------------------------------------
 +    <IfModule log_config_module>
 +        ErrorLog /var/log/httpd/repository.tachtler.net_error.log
 +        SetEnvIF User-Agent "HAProxy" dontlog=yes
 +        SetEnvIf X-Forwarded-For "^.*\..*\..*\..*" forwarded=yes
 +        <IfModule logio_module>
 +            CustomLog /var/log/httpd/repository.tachtler.net_access.log combined_deflate_ssl "expr=(reqenv('forwarded') != 'yes' && reqenv('dontlog') != 'yes')"
 +            CustomLog /var/log/httpd/repository.tachtler.net_access.log combined_deflate_proxypass_ssl "expr=(reqenv('forwarded') == 'yes' && reqenv('dontlog') != 'yes')"
 +        </IfModule>
 +    </IfModule>
 +    </IfModule>
 +</VirtualHost>
 +
 +<VirtualHost *:443>
 +    ServerAdmin webmaster@tachtler.net
 +    ServerName repository.tachtler.net
 +    ServerPath /
 +
 +    # ----------------------------------------------------------
 +    # SSL settings
 +    # ----------------------------------------------------------
 +    <IfModule ssl_module>
 +        SSLEngine On
 +        SSLCertificateFile /etc/letsencrypt/live/tachtler.net/fullchain.pem
 +        SSLCertificateKeyFile /etc/letsencrypt/live/tachtler.net/privkey.pem
 +
 +        <FilesMatch "\.(cgi|shtml|phtml|php)$">
 +            SSLOptions +StdEnvVars
 +        </FilesMatch>
 +        <Directory "/srv/http/cgi-bin">
 +            SSLOptions +StdEnvVars
 +        </Directory>
 +
 +        BrowserMatch "MSIE [2-5]" \
 +            nokeepalive ssl-unclean-shutdown \
 +            downgrade-1.0 force-response-1.0
 +    </IfModule>
 +
 +    # ----------------------------------------------------------
 +    # Rewrite settings
 +    # Rewrite the requestet URI - PERMANENT - to HTTPS and leave
 +    # this virtual Host to the HTTPS variant of it.
 +    # ----------------------------------------------------------
 +    <IfModule rewrite_module>
 +        RewriteEngine On
 +        RewriteCond "%{HTTPS}" "!=on"
 +        RewriteRule "^(.*)$" "https://%{HTTP_HOST}%{REQUEST_URI}" [R=301,L]
 +    </IfModule>
 +    
 +    # ----------------------------------------------------------
 +    # Alias settings - The "/" must be at the end!
 +    # ----------------------------------------------------------
 +    <IfModule alias_module>
 +        Alias /icons/ "/usr/share/httpd/icons/"
 +        Alias / "/srv/repository/"
 +    </IfModule>
 +
 +    # ----------------------------------------------------------
 +    # Directory access settings
 +    # URL of https://servername/
 +    # ----------------------------------------------------------
 +    <Directory "/srv/repository">
 +        Options +Indexes +FollowSymLinks
 +        AllowOverride None
 +        Require all granted
 +    </Directory>
 +
 +    # ----------------------------------------------------------
 +    # Logging settings
 +    # ----------------------------------------------------------
 +    <IfModule log_config_module>
 +        ErrorLog /var/log/httpd/repository.tachtler.net_error.log
 +        SetEnvIF User-Agent "HAProxy" dontlog=yes
 +        SetEnvIf X-Forwarded-For "^.*\..*\..*\..*" forwarded=yes
 +        <IfModule logio_module>
 +            CustomLog /var/log/httpd/repository.tachtler.net_access.log combined_deflate_ssl "expr=(reqenv('forwarded') != 'yes' && reqenv('dontlog') != 'yes')"
 +            CustomLog /var/log/httpd/repository.tachtler.net_access.log combined_deflate_proxypass_ssl "expr=(reqenv('forwarded') == 'yes' && reqenv('dontlog') != 'yes')"
 +        </IfModule>
 +    </IfModule>
 +</VirtualHost> 
 +</code>
 +
 +==== /etc/httpd/conf/httpd.conf ====
 +
 +Damit die zuvor unter 
 +  * [[tachtler:archlinux_-_repository_spiegeln#etc_httpd_conf_vhosts_repositoryconf|ArchLinux - Repository spiegeln - /etc/httpd/conf/vhosts/repository.conf]]
 +neu erstellte Konfigurationsdatei auch durch den [[https://httpd.apache.org/|Apache HTTPD Webserver]] eingelesen wird, ist nachfolgende **Ergänzung** in der bereits bestehnden Konfigurationsdatei
 +  * ''/etc/httpd/conf/httpd.conf''
 +wie folgt **am Ende der Konfigurationsdatei hinzuzufügen**:
 +<code apache>
 +# Load *.conf files in the "conf/vhost" directory, if any.
 +IncludeOptional conf/vhost/*.conf  
 +</code>
 +
 +==== Neustart: Apache HTTPD Webserver ====
 +
 +Bevor **__weitere__** **Konfigurationsschritte** erfolgen, sollte ein **Neustart** erfolgen, was mit nachfolgendem Befehl durchgeführt werden kann:
 +<code>
 +# systemctl restart httpd.service
 +</code>
 +
 +:!: **HINWEIS** - **Es erfolgen __keine__ weiteren Ausgaben, wenn der Start erfolgreich war !**
 +
 +==== Aufruf: Apache HTTPD Webserver ====
 +
 +Jetzt kann durch Aufruf von nachfolgenden URL im Browser das Repository eingesehen werden und somit auch den Zugang zu diesem überprüft werden:
 +  * [[http://repository.tachtler.net|http://repository.tachtler.net]]
 +
 +Es sollte eine Ausgabe im Browser in etwa wie nachfolgende zum Vorschein kommen:
 +
 +{{:tachtler:virtualisierung:archlinux:archinux_repository_spiegeln-apache.png|ArchLinux Repository spiegeln - Browser Aufruf}}
 +
 +===== Pacman =====
 +
 +==== /etc/pacman.d/mirrorlist ====
 +
 +Um vom eigenen gespiegelten[[https://archlinux.org/|ArchLinux]]-Repository die Paket-Updates zu erhalten, muss die nachfolgende Konfigurationsdatei des [[https://archlinux.org/|ArchLinux]]-Paketmamnagers [[https://wiki.archlinux.org/title/pacman|Pacman]] wie folgt angepasst werden:
 +  * ''/etc/pacman.d/mirrorlist''
 +<code>
 +# vim /etc/pacman.d/mirrorlist
 +</code>
 +<code>
 +################################################################################
 +########################### Arch Linux private mirror ##########################
 +################################################################################
 +
 +Server = https://repository.tachtler.net/archlinux/$repo/os/$arch
 +</code>
  
tachtler/archlinux_-_repository_spiegeln.1671789049.txt.gz · Zuletzt geändert: 2022/12/23 10:50 von klaus