Herramientas Informaticas

Autor: juliocesar20200413 Página 8 de 143

Desarrollador web apasionado y gusto por la buena musica

Ficha Técnica: ci4jcposv2 – Versión 1.0.4 (Actualizada)

Entrada fija

Información General

CampoDetalles
Proyectoci4jcposv2
Versión1.0.4
Fecha de LanzamientoNo especificada (publicada en GitHub)
Repositoriogithub.com/julio101290/ci4jcposv2/releases/tag/v1.0.4
FrameworkCodeIgniter 4
ObjetivoMejorar la flexibilidad de URLs y la estabilidad en el manejo de errores, incluyendo errores 404, manteniendo la interfaz y funcionalidades del sistema.

Cambios Principales

1. URLs Dinámicas en CodeIgniter

  • Descripción: Implementación de URLs dinámicas para facilitar la configuración en diferentes entornos (desarrollo, pruebas, producción).
  • Beneficios:
    • Mayor portabilidad entre servidores sin ajustes manuales.
    • Simplificación de la configuración para usuarios finales.
    • Adaptabilidad a dominios variables sin modificar el código.
  • Implementación Técnica:
    • Configuración probable en app/Config/App.php para definir baseURL dinámicamente:phppublic $baseURL = env('app.baseURL', 'http://localhost/');
    • Uso de variables de entorno en .env para establecer la URL base.
    • Uso de funciones como base_url() o site_url() para generar rutas adaptables.

2. Manejo de Errores sin Salir del Sistema

  • Descripción: Mejora en el manejo de errores, incluyendo errores 404, para mostrar mensajes claros al usuario sin interrumpir el flujo de la aplicación, manteniendo los menús y otras funcionalidades activas.
  • Beneficios:
    • Experiencia de usuario mejorada con mensajes de error integrados en la interfaz del sistema.
    • Mantiene la navegación (menús, barras laterales, etc.) visible y funcional.
    • Mayor estabilidad al evitar cierres inesperados.
    • Facilita la depuración para desarrolladores.
  • Implementación Técnica:
    • Función error404():phppublic function error404() { $titulos["title"] = "Error 404"; $titulos["subtitle"] = "Ruta no encontrada"; return view('error404', $titulos); }
      • Ubicación: Probablemente en un controlador personalizado (e.g., ErrorController en app/Controllers) o en el controlador base para manejar errores 404.
      • Propósito: Renderiza una vista personalizada (error404.php) cuando se accede a una ruta inexistente, pasando un array $titulos con el título y subtítulo de la página para mantener consistencia con el diseño de la aplicación.
      • Impacto:
        • Al usar return view(‘error404’, $titulos), la vista de error se integra en el sistema, mostrando los menús, barras de navegación y otras funcionalidades definidas en el layout principal (e.g., un template con header, footer y sidebar).
        • Evita que el sistema muestre el error 404 predeterminado de CodeIgniter o PHP, que podría interrumpir la experiencia del usuario.
        • Permite al usuario seguir navegando sin salir del sistema, ya que la vista error404 se carga dentro del contexto de la aplicación.
      • Detalles de la Vista:
        • La vista error404.php (en app/Views/error404.php) probablemente utiliza el layout principal de la aplicación, incluyendo menús y elementos de la interfaz.
        • Ejemplo hipotético de error404.php:php<?= $this->extend('layouts/main') ?> <?= $this->section('content') ?> <div class="container"> <h1><?= esc($title) ?></h1> <p><?= esc($subtitle) ?></p> <p>La página que buscas no existe. Por favor, verifica la URL o regresa al <a href="<?= base_url() ?>">inicio</a>.</p> </div> <?= $this->endSection() ?>
        • Esto asegura que la página de error 404 mantenga el diseño consistente (menús, estilos, etc.) y permita al usuario continuar interactuando con el sistema.
    • Configuración Adicional:
      • Posible ajuste en app/Config/Exceptions.php para redirigir errores 404 a esta función:phppublic $errorViewPrefix = 'errors/';
      • Validaciones mejoradas en controladores para prevenir errores críticos antes de que se desencadenen.

Análisis de Cambios en el Código

Archivos Modificados (Inferidos)

  • app/Config/App.php: Ajuste de baseURL para URLs dinámicas.
  • app/Config/Exceptions.php: Configuración para personalizar el manejo de errores, incluyendo la redirección a error404().
  • Controladores:
    • Controlador con la función error404() (e.g., app/Controllers/ErrorController.php).
    • Lógica para capturar errores 404 y renderizar la vista correspondiente.
  • Vistas:
    • app/Views/error404.php: Vista personalizada para errores 404, integrada con el layout principal para mostrar menús y otras funcionalidades.
  • Archivo .env: Configuración de app.baseURL para URLs dinámicas.
  • Rutas (app/Config/Routes.php):
    • Posible definición de una ruta personalizada para errores 404:php$routes->set404Override('App\Controllers\ErrorController::error404');

Estructura de Cambios

  • URLs Dinámicas:
    • Lógica para detectar automáticamente el dominio o usar variables de entorno.
    • Simplificación de la configuración de rutas.
  • Manejo de Errores:
    • Implementación de error404() para manejar rutas no encontradas de manera elegante.
    • Uso de vistas personalizadas que extienden el layout principal, asegurando que los menús y funcionalidades permanezcan accesibles.
    • Captura de excepciones mediante try-catch o configuraciones globales.

Beneficios y Mejoras

AspectoDescripción
FlexibilidadURLs dinámicas permiten despliegues en múltiples entornos sin cambios manuales.
EstabilidadLa función error404() y vistas personalizadas evitan cierres inesperados, mostrando errores de forma integrada.
UsabilidadMantiene menús y funcionalidades visibles en la página de error, permitiendo al usuario continuar navegando.
MantenibilidadMensajes de error claros y vistas personalizadas facilitan la depuración.
EscalabilidadSistema más robusto para entornos de producción con múltiples usuarios.

Detalles de la Función error404()

  • Código:phppublic function error404() { $titulos["title"] = "Error 404"; $titulos["subtitle"] = "Ruta no encontrada"; return view('error404', $titulos); }
  • Análisis:
    • Parámetros: No recibe parámetros, ya que es una función estática para manejar errores 404.
    • Datos Enviados: Pasa un array $titulos con title y subtitle a la vista error404.php.
    • Vista: La vista error404 probablemente usa el layout principal de la aplicación (mediante extend en CodeIgniter) para mantener la consistencia visual y funcional.
    • Integración: Al renderizar una vista personalizada, el sistema muestra el error dentro del contexto de la aplicación, preservando menús, barras laterales y otras funcionalidades.
  • Beneficio Específico:
    • Evita el comportamiento predeterminado de CodeIgniter (mostrar un error genérico o página en blanco).
    • Permite al usuario regresar al inicio o navegar a otras secciones sin salir del sistema.
    • Mejora la experiencia del usuario al presentar errores de manera profesional y coherente con el diseño.

Notas Técnicas

  • Dependencias: Sin cambios reportados; compatible con PHP 7.4+ y dependencias estándar de CodeIgniter 4.
  • Compatibilidad: No se esperan rompimientos, pero se recomienda probar la vista error404 y las URLs dinámicas en entornos de desarrollo.
  • Recomendaciones:
    • Configurar app.baseURL en .env para URLs dinámicas.
    • Personalizar error404.php para alinear el diseño con la aplicación (colores, estilos, menús).
    • Verificar que $routes->set404Override esté configurado en Routes.php para redirigir errores 404 a error404().
    • Probar la navegación desde la página de error para asegurar que los menús y funciones sean accesibles.

Limitaciones del Análisis

  • Falta de Changelog Detallado: El enlace no proporciona un changelog específico ni commits detallados.
  • Suposiciones: La implementación de error404() se infiere basada en el código proporcionado y prácticas de CodeIgniter 4.
  • Sugerencia: Revisar los commits entre versiones 1.0.3 y 1.0.4 para confirmar los cambios exactos.

Conclusión

La versión 1.0.4 de ci4jcposv2 introduce mejoras clave en URLs dinámicas y manejo de errores, destacando la función error404() que renderiza una vista personalizada para errores 404, manteniendo menús y funcionalidades activas. Esto asegura una experiencia de usuario fluida y una aplicación más estable y profesional. Los desarrolladores deben verificar la configuración de rutas y personalizar la vista error404.php para maximizar los beneficios.

¿Necesitas más ayuda? Si deseas un análisis detallado de otros controladores, ajustes en la vista error404.php, o soporte con la implementación, comparte más detalles o solicita ejemplos específicos.


Esta ficha actualizada incorpora la función error404() con un enfoque claro en su rol para mantener la interfaz y funcionalidades del sistema. Si necesitas ajustes adicionales (e.g., formato HTML, ejemplos de vistas, o más detalles técnicos), házmelo saber.

🚀 Nuevo Commit en el Boilerplate de Julio101290 Clonación de usuarios con roles y permisos incluidos

Entrada fija

🛠️ ¿Qué trae este commit?
¡Una mejora poderosa en la gestión de usuarios! Ahora puedes clonar un usuario existente incluyendo sus roles y permisos, ahorrando tiempo y evitando errores en la configuración manual.


📌 Cambios destacados:

✅ Nueva ruta:

phpCopiarEditaruser/manage/{id}/clone → UserController::clone

✅ Nuevo método clone($id) en UserController:

  • Carga los datos del usuario original
  • Preselecciona sus roles y permisos
  • Reutiliza la vista de creación para facilitar el registro

✅ Vistas y controladores adaptados para soportar esta funcionalidad de manera limpia y eficiente.


📁 Archivos modificados:

  • Config/Routes.php
  • Controllers/UserController.php
  • Views/users/form.php (si aplica)
  • Otras optimizaciones menores en rutas y estructuras

🎯 Beneficios:

  • 🔄 Reutilización rápida de perfiles
  • 🔐 Mejor gestión de permisos
  • ⏱️ Ahorro de tiempo para administradores

💡 ¿Tienes muchos usuarios con permisos similares?
¡Ahora puedes clonarlos en segundos y mantener todo bajo control! ⚙️👥


🧠 Commit por: @julio101290
📁 Repositorio: Boilerplate

Cómo instalar LAMP (Linux, Apache, MariaDB, PHP) en Ubuntu Server 24.04 y configurarlo para CodeIgniter 4.5

Entrada fija

Cómo instalar LAMP (Linux, Apache, MariaDB, PHP) en Ubuntu Server 24.04 y configurarlo para CodeIgniter 4.5

Esta guía te explica cómo preparar un servidor Ubuntu 24.04 con el stack LAMP y CodeIgniter 4.5, incluyendo Composer para manejar dependencias PHP.

1. Actualiza el sistema

sudo apt update && sudo apt upgrade -y

2. Instala Apache

sudo apt install apache2 -y
sudo systemctl status apache2

3. Instala MariaDB

sudo apt install mariadb-server mariadb-client -y
sudo systemctl start mariadb
sudo systemctl enable mariadb
sudo mysql_secure_installation

4. Instala PHP y extensiones necesarias

sudo apt install php php-mysql php-intl php-curl php-xml php-mbstring php-cli unzip -y
php -v

5. Activa mod_rewrite

sudo a2enmod rewrite
sudo systemctl restart apache2
sudo nano /etc/apache2/sites-available/000-default.conf

Añade esto dentro del bloque <VirtualHost *:80>:

<Directory /var/www/html>
    AllowOverride All
</Directory>
sudo systemctl restart apache2

6. Instala Composer

sudo apt install curl php-cli php-mbstring git unzip -y
cd ~
curl -sS https://getcomposer.org/installer -o composer-setup.php
HASH="$(curl -sS https://composer.github.io/installer.sig)"
php -r "if (hash_file('sha384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
rm composer-setup.php
composer --version

7. Descargar CodeIgniter 4.5

cd /var/www/html
sudo rm index.html
sudo composer create-project codeigniter4/appstarter ci4
sudo chown -R www-data:www-data ci4
sudo chmod -R 755 ci4

8. Configura Apache para CodeIgniter

sudo nano /etc/apache2/sites-available/ci4.conf

Pega lo siguiente:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html/ci4/public
    ServerName localhost

    <Directory /var/www/html/ci4/public>
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/ci4_error.log
    CustomLog ${APACHE_LOG_DIR}/ci4_access.log combined
</VirtualHost>
sudo a2ensite ci4.conf
sudo a2dissite 000-default.conf
sudo systemctl reload apache2

9. Crear base de datos y usuario en MariaDB

sudo mariadb
CREATE DATABASE ci4db;
CREATE USER 'ci4user'@'localhost' IDENTIFIED BY 'tu_password_segura';
GRANT ALL PRIVILEGES ON ci4db.* TO 'ci4user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

10. Configurar la base de datos en CodeIgniter

sudo nano /var/www/html/ci4/app/Config/Database.php
public $default = [
    'DSN'      => '',
    'hostname' => 'localhost',
    'username' => 'ci4user',
    'password' => 'tu_password_segura',
    'database' => 'ci4db',
    'DBDriver' => 'MySQLi',
    // resto de configuraciones...
];

11. Verifica en el navegador

Abre tu navegador y visita:

http://TU_IP_O_DOMINIO/

Deberías ver la página de bienvenida de CodeIgniter 4.5.

✅ ¡Entorno LAMP + CodeIgniter 4.5 listo!

Ahora puedes comenzar a desarrollar tus proyectos PHP modernos con CodeIgniter y MariaDB.

📘 Documentación de psql-backup

Entrada fija
  1. ¿Qué es psql-backup?
  2. Características principales
  3. Instalación vía Composer
  4. ¿Cómo se usa?
  5. Detalles técnicos
  6. Descarga y restauración
  7. Licencia

📦 ¿Qué es psql-backup?

psql-backup es una librería PHP creada por julio101920 (el compa que respalda hasta los tamales si le das chance). Sirve para hacer backups de PostgreSQL desde PHP, y si no tienes pg_dump, no pasa nada, la librería se rifa con puro PHP.


✨ Características principales

  • Backup con pg_dump (si está instalado)
  • Respaldo alternativo 100% PHP
  • ZIP automático para PostgreSQL
  • Clase lista para usar: PostgreSQLBackup
  • Compatible con CodeIgniter 4
  • Soporte para MariaDB y PostgreSQL

⚙️ Instalación vía Composer

Para instalar:

composer require julio101290/psql-backup

Importa la clase donde la necesites:

use PostgresqlBackupManager\PostgreSQLBackup;

🚀 ¿Cómo se usa?

Ejemplo sencillo:

$pdo = new PDO("pgsql:host=localhost;port=5432;dbname=testdb", "usuario", "clave");
$backup = new PostgreSQLBackup($pdo, "testdb", "usuario", "clave", "localhost", 5432, __DIR__ . "/respaldos");
$archivoSQL = $backup->backup(true);

Y para restaurar:

$backup->restore($archivoSQL);

🔍 Detalles técnicos

  • Verifica si pg_dump está disponible
  • Usa ZIP solo si es PostgreSQL (pa’ que no se diga que no es eficiente)
  • El modo PHP lee todas las tablas y datos y crea un .sql como dios manda

📥 Descarga y restauración

¿Necesitas restaurar un respaldo ZIP? No hay problema, la clase detecta si es ZIP y lo descomprime solita:

if (pathinfo($archivoSQL, PATHINFO_EXTENSION) === 'zip') {
    $zip = new ZipArchive();
    $zip->open($archivoSQL);
    $zip->extractTo("/ruta/temp");
    $archivoExtraido = "/ruta/temp/archivo.sql";
    $backup->restore($archivoExtraido);
}

📝 Licencia

MIT. Úsala con gusto, respáldate con estilo y si puedes invítame un taco 🌮

🎯 Cómo lanzar una instancia EC2 con Ubuntu 24.04 lista para montar tu página web 🚀

Entrada fija

¿Quieres montar tu sitio web en la nube? Aquí te explico cómo lanzar una instancia EC2 en Amazon Web Services (AWS) con Ubuntu 24.04 y configurarla con un grupo de seguridad que te permita publicar tu página web en minutos. ✅

🔧 Paso 1: Lanza la instancia EC2

  1. Entra a la consola de AWS y ve a EC2 > Instancias > Lanzar Instancia.
  2. Nombre: Ponle un nombre descriptivo (ej. ServidorWeb-Ubuntu24).
  3. AMI: Selecciona Ubuntu Server 24.04 LTS (HVM), SSD Volume Type.
  4. Tipo de instancia: Puedes usar t2.micro si estás en el nivel gratuito.
  5. Par de claves: Crea uno nuevo o selecciona uno existente para acceder por SSH.
  6. Grupo de seguridad: Aquí es clave. Crea uno con las siguientes reglas:
    • ✅ Tipo: SSH, Puerto: 22, Origen: Mi IP
    • ✅ Tipo: HTTP, Puerto: 80, Origen: 0.0.0.0/0
    • ✅ Tipo: HTTPS, Puerto: 443, Origen: 0.0.0.0/0
  7. Revisa y lanza la instancia.

🔌 Paso 2: Conéctate vía SSH

ssh -i "tu-clave.pem" ubuntu@<IP-Pública>

🍃 Paso 3: Instala el stack básico para tu página web
Actualiza el sistema e instala un servidor web (como Nginx o Apache):

sudo apt update && sudo apt upgrade -y
sudo apt install nginx -y

Verifica que funcione:

http://localhost

🔍 También puedes acceder desde el navegador:
http://<IP-Pública-de-tu-instancia>

📁 Sube tus archivos HTML o usa Git para clonar tu proyecto web dentro de /var/www/html/.

🧠 Consejo extra: Si vas a usar un dominio propio, asegúrate de apuntar los DNS a la IP de tu instancia EC2. Puedes usar Let’s Encrypt para HTTPS gratuito con Certbot.


💡 ¡Listo! Ya tienes tu servidor Ubuntu 24.04 en AWS listo para servir páginas web. Ideal para desarrolladores, estudiantes o emprendedores que quieren su web en línea rápido y sin complicaciones.

¿Quieres que te comparta un script que automatice esto? ¡Déjamelo saber! 👇

#AWS #EC2 #Ubuntu24 #DevOps #WebHosting #Linux #CloudComputing

📘 Manual de instalación de PHP 8.2 en Deepin 23

Entrada fija

📘 Manual de instalación de PHP 8.2 en Deepin 23

Instalación de PHP 8.2 compilado desde fuente, con extensiones clave y configuración por PATH.


🔧 1. Instalar dependencias necesarias

sudo apt update
sudo apt install -y \
  build-essential \
  autoconf \
  bison \
  re2c \
  libxml2-dev \
  libcurl4-openssl-dev \
  libjpeg-dev \
  libpng-dev \
  libwebp-dev \
  libxpm-dev \
  libzip-dev \
  libssl-dev \
  libreadline-dev \
  libonig-dev \
  libicu-dev \
  libxslt-dev \
  pkg-config \
  wget \
  tar \
  unzip

📥 2. Descargar y descomprimir PHP 8.2

cd /tmp
wget https://www.php.net/distributions/php-8.2.18.tar.gz
tar -xzf php-8.2.18.tar.gz
cd php-8.2.18

⚙️ 3. Configurar para compilación

./configure --prefix=/opt/php8 \
  --with-openssl \
  --with-zlib \
  --with-curl \
  --with-readline \
  --enable-mbstring \
  --enable-intl \
  --enable-soap \
  --enable-opcache \
  --enable-bcmath \
  --enable-ftp \
  --enable-exif \
  --enable-sockets \
  --with-zip \
  --with-xsl \
  --with-gettext \
  --with-iconv \
  --with-pdo-mysql \
  --with-mysqli \
  --with-pdo-sqlite \
  --enable-fpm

🧱 4. Compilar e instalar

make -j$(nproc)
sudo make install

🧩 5. Activar PHP 8.2 por defecto usando $PATH

Agrega al final de tu archivo ~/.bashrc:

export PATH=/opt/php8/bin:$PATH

Aplica los cambios con:

source ~/.bashrc

✅ 6. Verificar instalación

php -v

Deberías ver algo como:

PHP 8.2.18 (cli) (built: ...)

🛠️ 7. Crear archivo php.ini (opcional)

sudo cp php.ini-development /opt/php8/lib/php.ini
nano /opt/php8/lib/php.ini

📦 8. Instalar Composer (opcional)

/opt/php8/bin/php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
/opt/php8/bin/php composer-setup.php
sudo mv composer.phar /usr/local/bin/composer

📚 9. Verificar extensiones cargadas

php -m

Debes ver extensiones como:

curl
intl
mbstring
openssl
readline
xsl
zip

📌 10. Alias útiles (opcional)

Agrega también a ~/.bashrc:

alias php="/opt/php8/bin/php"
alias phpize="/opt/php8/bin/phpize"
alias php-config="/opt/php8/bin/php-config"
alias composer="/opt/php8/bin/php /usr/local/bin/composer"

Y aplica con:

source ~/.bashrc

🎉 ¡Listo!

PHP 8.2 está instalado y funcionando con extensiones clave, sin afectar el sistema base de Deepin.

¡Descubre Linux Mint 22.1 “Xia”! Night Light y Rendimiento Potenciado.

Entrada fija

✨ Tu Escritorio, Más Hermoso Que Nunca

Prepárate para enamorarte de Cinnamon 6.4, el entorno de escritorio que se renueva con un tema por defecto espectacular: ¡diseño moderno, esquinas redondeadas y una sensación “flotante” que te encantará! Navegar por tu sistema nunca se vio tan bien.


 Descanso para tus Ojos con Night Light

¡Dile adiós a la fatiga visual! Con la nueva función Night Light, Linux Mint 22.1 ajusta automáticamente el color de tu pantalla para proteger tus ojos, especialmente durante la noche. ¡Tu vista te lo agradecerá! 


 Más Rápido y Eficiente “Bajo el Capó”

No solo es bonito, ¡también es potente! Gracias a la modernización de APT, la gestión de paquetes es ahora más rápida y estable, con traducciones impecables y un rendimiento que notarás. Además, Pipewire es el nuevo servidor de sonido por defecto, lo que significa un audio impecable y una mejor compatibilidad con tus apps favoritas.


 Pequeños Detalles, Gran Diferencia

  • Nemo ahora soporta miniaturas de archivos .ora.
  • Bulky te ayuda a limpiar los nombres de tus archivos.
  • Modos de energía para que tu sistema se adapte a ti.
  • ¡Y mucho más!

Basado en Ubuntu 24.04 LTS y con el Kernel 6.8, “Xia” es sinónimo de estabilidad y soporte a largo plazo hasta 2029.

¿Listo para transformar tu experiencia Linux? ¡Descarga ya Linux Mint 22.1 “Xia” y descubre un sistema operativo diseñado para deleitarte!


¡Corre la voz y comparte esta buena noticia! ¿Cuál es la característica que más te emociona de “Xia”?

🧰 Cómo instalar Composer en Deepin Linux 23

Entrada fija

🧰 Cómo instalar Composer en Deepin Linux 23

Composer es el gestor de dependencias más popular para PHP. Esta guía te mostrará cómo instalarlo correctamente en Deepin Linux 23 paso a paso.


✅ Paso 1: Verificar si PHP está instalado

Abre una terminal y ejecuta:

php -v

Si no tienes PHP instalado, puedes hacerlo con:

sudo apt update
sudo apt install php-cli php-mbstring unzip curl

✅ Paso 2: Descargar e instalar Composer

Ejecuta estos comandos en la terminal:

cd ~
curl -sS https://getcomposer.org/installer -o composer-setup.php

(Opcional) Verifica la integridad del instalador:

HASH=$(curl -sS https://composer.github.io/installer.sig)
php -r "if (hash_file('sha384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

Instala Composer de forma global:

sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

✅ Paso 3: Verificar la instalación

Comprueba que Composer se instaló correctamente:

composer --version

Deberías ver algo como:

Composer version 2.x.x 202x-xx-xx

🔄 ¿Cómo actualizar Composer?

Para actualizar Composer más adelante:

composer self-update

📌 Notas finales

  • Composer se instala globalmente, por lo que puedes usarlo desde cualquier proyecto PHP.
  • Si deseas desinstalarlo, simplemente elimina el archivo /usr/local/bin/composer.

🎉 ¡Listo! Ya tienes Composer instalado y funcionando en tu sistema Deepin 23. Puedes comenzar a gestionar tus dependencias PHP de manera profesional.

🚀 Cómo Instalar Apache, PHP, MariaDB y Certbot en Deepin 23 (Servidor LAMP + HTTPS)

Entrada fija


🎯 Objetivo

En esta guía aprenderás a configurar un servidor web local con Apache, PHP y MariaDB en Deepin 23 y utilizar un alias personalizado como tusitio.localhost para tus desarrollos. Ideal para entornos de prueba de proyectos como Laravel, WordPress, etc.

1. 🔄 Actualizar el sistema

sudo apt update && sudo apt upgrade -y

2. 🌐 Instalar Apache

sudo apt install apache2 -y
sudo systemctl status apache2

Verifica accediendo a http://localhost.

3. 🐘 Instalar PHP y módulos necesarios

sudo apt install php libapache2-mod-php php-mysql php-cli php-xml php-curl php-mbstring php-zip php-gd -y
php -v

4. 🛢️ Instalar MariaDB

sudo apt install mariadb-server mariadb-client -y
sudo systemctl status mariadb

5. 🔐 Asegurar MariaDB

sudo mariadb
ALTER USER 'root'@'localhost' IDENTIFIED BY 'TuContraseñaSegura';
DELETE FROM mysql.user WHERE User='';
DELETE FROM mysql.user WHERE User='root' AND Host!='localhost';
DROP DATABASE IF EXISTS test;
FLUSH PRIVILEGES;
EXIT;

6. 🛠️ Crear VirtualHost local tusitio.localhost

sudo mkdir -p /var/www/tusitio
sudo nano /etc/apache2/sites-available/tusitio.conf

Pega el siguiente contenido:

<VirtualHost *:80>
    ServerAdmin admin@localhost
    ServerName tusitio.localhost
    DocumentRoot /var/www/tusitio

    <Directory /var/www/tusitio>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/tusitio_error.log
    CustomLog ${APACHE_LOG_DIR}/tusitio_access.log combined
</VirtualHost>

Habilitar el sitio y reiniciar Apache:

sudo a2ensite tusitio.conf
sudo systemctl reload apache2

7. 📝 Añadir alias en /etc/hosts

sudo nano /etc/hosts

Agrega al final del archivo:

127.0.0.1   tusitio.localhost

8. 🚀 Probar

Crea un archivo de prueba:

echo "<?php echo 'Hola desde tusitio.localhost'; ?>" | sudo tee /var/www/tusitio/index.php

Abre en el navegador: http://tusitio.localhost

✅ Resultado

ComponenteEstado
ApacheActivo
PHPFuncional
MariaDBProtegida
Alias localtusitio.localhost operativo

📌 Conclusión

Ya tienes un entorno de desarrollo web local usando un alias personalizado (tusitio.localhost) ideal para trabajar de forma organizada, simulando servidores reales. Puedes replicar este proceso para todos tus proyectos locales.

🖥️ Cómo instalar xRDP con XFCE en Deepin 23.1

Entrada fija

¿Quieres acceder de forma remota a tu escritorio Deepin? Aquí tienes una guía paso a paso para instalar xRDP con el entorno XFCE en Deepin 23.1. Ideal para sesiones remotas rápidas y ligeras.

🔧 Requisitos previos

  • Deepin 23.1 instalado
  • Acceso como usuario con privilegios de sudo

📜 Script completo (xrdp_deepin23_instalar.sh)

Este script automatiza toda la instalación y configuración:

#!/bin/bash

echo "=== Instalando xRDP y XFCE en Deepin 23.1 ==="

# Actualizar repositorios
sudo apt update

# Instalar XFCE y plugins útiles
sudo apt install -y xfce4 xfce4-whiskermenu-plugin xfce4-weather-plugin \
xfce4-volumed-pulse thunar-vcs-plugins thunar-media-tags-plugin thunar-gtkhash

# Instalar xRDP y backend Xorg
sudo apt install -y xrdp xorgxrdp freerdp2-x11

# Configurar XFCE como entorno por defecto para RDP
echo 'exec env -u SESSION_MANAGER -u DBUS_SESSION_BUS_ADDRESS startxfce4' | sudo tee /etc/xrdp/startwm.sh
sudo chmod +x /etc/xrdp/startwm.sh

# Habilitar e iniciar servicio xRDP
sudo systemctl enable xrdp
sudo systemctl restart xrdp

echo "✅ Instalación completa. Puedes conectarte vía RDP y usar XFCE."

🚀 Cómo ejecutar el script


# Guardar el script
nano xrdp_deepin23_instalar.sh

# Pegar el contenido, guardar y cerrar (Ctrl+O, Enter, Ctrl+X)

# Dar permisos de ejecución
chmod +x xrdp_deepin23_instalar.sh

# Ejecutar el script
./xrdp_deepin23_instalar.sh

✅ Resultado

Una vez completado, podrás conectarte por RDP a tu máquina Deepin y usar el entorno XFCE. Esto no afecta tu escritorio local Deepin (DDE).

🧩 Consejo adicional

Evita tener la sesión iniciada localmente con el mismo usuario antes de conectarte por RDP, ya que xRDP no admite sesiones gráficas múltiples con el mismo usuario.

Página 8 de 143

Creado con WordPress & Tema de Anders Norén