Allgemein

Webspace Umzug #4

Manchmal fühle ich mich alt… Zum Beispiel wenn ich danach suche wann ich Suplanus das letzte mal umgezogen habe… 2013 bin ich damals zum grandiosen Hoster Uberspace und war rundum zufrieden… Vor 10 (!!!) Jahren…

Warum dann der Umzug? Naja, ich habe mich über die Wintertage mal in Proxmox reingenerded und uns für ibKastl ein eigenes Cluster mit drei Servern aufgebaut.

Es handelt sich um zwei bare-metal Server und einen dedizierten Server, welcher in der Hetzner Cloud läuft. Letzterer Dient als Monitoring-Server.
Für das Monitoring der Dienste nutzen wir das grandiose Kuma. Um die Hardware im Blick zu haben nutzen wir CheckMK. Das ganze mit Push-Services wenn irgendein Server Zuneigung benötigt.

In OpnSense habe ich mich auch verliebt. Gestartet habe ich damit, da ich eine Firewall haben wollte. Aber nun übernimmt Sie auch noch die Aufgaben als HaProxy, WireGuard VPN Server, UnboundDns Dienst, DHCP, uvm.

Eigentlich hat mir das ganze Web-Hosting usw. nie richtig Spaß gemacht. Aber ich muss sagen, wenn man das selbst von Grund selbst aufbaut mit “eigener” Hardware und Netzwerk, ist das schon ein seeehr interessantes Thema. Ich hab viel über Netzwerk-Layer gelernt und durch die VMs auch viel von Linux (Ubuntu & Debian) gelernt.

Kann jedem empfehlen, sich mal die Videos von Dennis Schröder anzuschauen, denn das war meine Grundlage für den Einstieg in das ganze Thema.

Nun laufen alle ibKastl und Suplanus Dienste / Webseiten / usw. auf unseren Servern. Start vom Umzug war bereits Anfang des Jahres. Wir haben Stück für Stück die VMs aufgebaut und Dienst für Dienst umgezogen, somit war der Druck nie groß und wenn mal was aufgefallen ist auch genügend Zeit zum fixen.

Man könnte meinen dass man dadurch mehr Arbeit hat, wenn man die Infrastruktur selbst betreibt. Aber in unserem Fall ist das eindeutig nicht so. Wir hatten verschiedene Hoster mit unterschiedlichen Verträgen. Oftmals kamen wir hier an die Grenzen alá “Können wir kurz per SSH auf die Kiste und xy installieren?”.

Lange Rede, kurzer Sinn:
Es hat mir sehr viel Spaß gemacht mich in das Thema einzuarbeiten und wir sind mit dem Setup mehr als zufrieden. Achja, Performance ist auch besser, aber die war vorher schon gut!

Von |2023-04-18T06:44:44+02:002023-04-17|Allgemein|

500. Beitrag

Bin selbst überrascht… 500 Beiträge hab ich hier auf Suplanus geschrieben. Das ganze in knapp 10 Jahren. Macht mich schon stolz 🦄
Vielen Dank an dieser Stelle auch an alle Personen die dazu beigetragen haben!
Dazu gehört auch jede Person, welche einen von über 800 Kommentare geschrieben hat.

Von |2019-08-05T11:30:46+02:002019-08-06|Allgemein|

Syntax Highlightning

Denke es ist schon das dritte oder vierte Plugin … Leider wird Crayon nicht mehr weiterentwickelt.
Somit hab ich mich mal für ne Alternative umgesehen und EnlighterJS gefunden. Es gibt auch WordPress-Plugin dafür.

Das Theme gefällt mir gut und kann man auch anpassen. Es ist auch ziemlich schnell. Und das Wichtigste: Es wird aktiv weiterentwickelt.

Es gibt noch einen Bug mit dem Horizontalen-Scrollbalken… aber der wird bald gefixed.

Von |2019-03-14T10:20:11+01:002019-03-14|Allgemein|

CSS Scorpion Header

Ich schau grad die Serie Scorpion… Dort gefällt mir der Stil für Text die </ HTML Tags > zu verwenden. Hab das mal auf der Startseite für die Unterüberschrift verwendet im Suplanus-Grün.

Nun dachte ich mir das wäre doch auch schön für den Blog in der Überschrift. Gesagt getan…
Schön zu sehen was man mit CSS alles machen kann:

/* Post Header Style */
.fusion-post-title::before{
    content: '\00003C/ ' !important;
    left: 0;
}
.fusion-post-title::after{
    content: ' \00003E' !important;
    right: 0;
}
.fusion-post-title::before, .fusion-post-title::after {
    color: #1ba800;
}

Von |2018-07-31T12:05:56+02:002018-07-28|Allgemein|

Avada collapse comments

Wie schon beschrieben, bin ich Fan von schlichten Internetseiten, die beim Lesen nicht mit überflüssigem Inhalt ablenken. Das Kommentieren Feld gehört da für mich dazu.
Anscheinend gibt es kein WordPress-Plugin das out-of-the-box das Kommentarfeld ein- bzw. ausklappen kann.

Somit hab ich ein Child-Theme von Avada gemacht und die comments.php  angepasst:

<?php
/**
 * Comments template.
 *
 * @package Avada
 * @subpackage Templates
 */

// Do not allow directly accessing this file.
if ( ! defined( 'ABSPATH' ) ) {
	exit( 'Direct script access denied.' );
}

do_action( 'avada_before_comments' );

/*
 * If the current post is protected by a password and
 * the visitor has not yet entered the password we will
 * return early without loading the comments.
 */
?>

<?php if ( post_password_required() ) : ?>
	<?php return; ?>
<?php endif; ?>

<?php $title_size = ( false === avada_is_page_title_bar_enabled( get_the_ID() ) ? '2' : '3' ); ?>
<?php if ( have_comments() ) : ?>

	<div id="comments" class="comments-container">
		<?php ob_start(); ?>
		<?php comments_number( esc_html__( 'No Comments', 'Avada' ), esc_html__( 'One Comment', 'Avada' ), esc_html( _n( '% Comment', '% Comments', get_comments_number(), 'Avada' ) ) ); ?>
		<?php Avada()->template->title_template( ob_get_clean(), $title_size ); ?>

		<?php if ( function_exists( 'the_comments_navigation' ) ) : ?>
			<?php the_comments_navigation(); ?>
		<?php endif; ?>

		<ol class="comment-list commentlist">
			<?php wp_list_comments( 'callback=avada_comment' ); ?>
		</ol><!-- .comment-list -->

		<?php if ( function_exists( 'the_comments_navigation' ) ) : ?>
			<?php the_comments_navigation(); ?>
		<?php endif; ?>
	</div>

<?php endif; ?>

<?php if ( ! comments_open() && get_comments_number() && post_type_supports( get_post_type(), 'comments' ) ) : ?>
	<p class="no-comments"><?php esc_html_e( 'Comments are closed.', 'Avada' ); ?></p>
<?php endif; ?>

<?php if ( comments_open() ) : ?>

</br> <!--Suplanus: Start Added collapse-->
<button data-toggle="collapse" data-target="#collapsable" class="fusion-button fusion-button-default fusion-button-default-size">Add Comment</button> 
<div id="collapsable" class="collapse">
<!--Suplanus: End Added collapse-->

	<?php
	$commenter = wp_get_current_commenter();
	$req       = get_option( 'require_name_email' );
	$aria_req  = ( $req ) ? " aria-required='true'" : '';
	$html_req  = ( $req ) ? " required='required'" : '';
	$html5     = ( 'html5' === current_theme_supports( 'html5', 'comment-form' ) ) ? 'html5' : 'xhtml';
	$consent   = empty( $commenter['comment_author_email'] ) ? '' : ' checked="checked"';

	$fields = array();

	$fields['author']  = '<div id="comment-input"><input id="author" name="author" type="text" value="' . esc_attr( $commenter['comment_author'] ) . '" placeholder="' . esc_html__( 'Name (required)', 'Avada' ) . '" size="30"' . $aria_req . $html_req . ' aria-label="' . esc_attr__( 'Name', 'Avada' ) . '"/>';
	$fields['email']   = '<input id="email" name="email" ' . ( $html5 ? 'type="email"' : 'type="text"' ) . ' value="' . esc_attr( $commenter['comment_author_email'] ) . '" placeholder="' . esc_html__( 'Email (required)', 'Avada' ) . '" size="30" ' . $aria_req . $html_req . ' aria-label="' . esc_attr__( 'Email', 'Avada' ) . '"/>';
	$fields['url']     = '<input id="url" name="url" ' . ( $html5 ? 'type="url"' : 'type="text"' ) . ' value="' . esc_attr( $commenter['comment_author_url'] ) . '" placeholder="' . esc_html__( 'Website', 'Avada' ) . '" size="30" aria-label="' . esc_attr__( 'URL', 'Avada' ) . '" /></div>';
	$fields['cookies'] = '<p class="comment-form-cookies-consent"><input id="wp-comment-cookies-consent" name="wp-comment-cookies-consent" type="checkbox" value="yes"' . $consent . ' /><label for="wp-comment-cookies-consent">' . esc_html__( 'Save my name, email, and website in this browser for the next time I comment.', 'Avada' ) . '</label></p>';

	$comments_args = array(
		'fields'               => apply_filters( 'comment_form_default_fields', $fields ),
		'comment_field'        => '<div id="comment-textarea"><label class="screen-reader-text" for="comment">' . esc_attr__( 'Comment', 'Avada' ) . '</label><textarea name="comment" id="comment" cols="45" rows="8" aria-required="true" required="required" tabindex="0" class="textarea-comment" placeholder="' . esc_html__( 'Comment...', 'Avada' ) . '"></textarea></div>',
		'title_reply'          => esc_html__( '' ), /* Suplanus: Removed Text for removing header */
		'title_reply_to'       => esc_html__( '' ), /* Suplanus: Removed Text for removing header */
		'title_reply_before'   => '', /* Suplanus: Removed Text for removing header */
		'title_reply_after'    => '', /* Suplanus: Removed Text for removing header */
		/* translators: Opening and closing link tags. */
		'must_log_in'          => '<p class="must-log-in">' . sprintf( esc_html__( 'You must be %1$slogged in%2$s to post a comment.', 'Avada' ), '<a href="' . wp_login_url( apply_filters( 'the_permalink', get_permalink() ) ) . '">', '</a>' ) . '</p>',
		/* translators: %1$s: The username. %2$s and %3$s: Opening and closing link tags. */
		'logged_in_as'         => '<p class="logged-in-as">' . sprintf( esc_html__( 'Logged in as %1$s. %2$sLog out &raquo;%3$s', 'Avada' ), '<a href="' . admin_url( 'profile.php' ) . '">' . $user_identity . '</a>', '<a href="' . wp_logout_url( apply_filters( 'the_permalink', get_permalink() ) ) . '" title="' . esc_html__( 'Log out of this account', 'Avada' ) . '">', '</a>' ) . '</p>',
		'comment_notes_before' => '',
		'id_submit'            => 'comment-submit',
		'class_submit'         => 'fusion-button fusion-button-default fusion-button-default-size',
		'label_submit'         => esc_html__( 'Post Comment', 'Avada' ),
	);

	comment_form( $comments_args );
endif;
?>
<div>
Von |2018-07-24T08:18:55+02:002018-07-24|Allgemein|
Nach oben